Django Academy · Lezione

Widget, etichette e testo di supporto

Controllare come viene visualizzato ogni campo

Lezione 4 di 413 passaggi

Widget, etichette e testo di supporto è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.

Rifinire il form

Un ModelForm funzionante è ottimo, ma gli input generati automaticamente possono risultare essenziali. Può perfezionare l'aspetto e il comportamento di ogni campo con widgets, etichette e testo di aiuto. 🎨

Che cos'è un widget

Un widget è il controllo HTML visualizzato per un campo, ad esempio una casella di testo, un'area di testo o un selettore di date. Lo sostituisca per modificare l'input mostrato.

Sovrascrivere i widget in Meta

Imposti il dizionario widgets in Meta per associare il nome di un campo a un controllo diverso. Qui il campo body diventa un'area di testo più ampia.

class Meta:
    model = Post
    fields = ["body"]
    widgets = {"body": forms.Textarea}

Passare gli attributi del widget

Istanzî il widget per passargli gli attrs HTML, come rows o una classe CSS. È così che integra i form con il proprio stile.

widgets = {
    "body": forms.Textarea(attrs={"rows": 4})
}

Aggiungere una classe CSS

Lo stesso dizionario attrs aggiunge una classe che permette al foglio di stile di selezionare l'input. È utile per Bootstrap o per le proprie classi di utilità.

forms.TextInput(attrs={"class": "form-control"})

Impostare un segnaposto

Un placeholder suggerisce cosa digitare prima che l'utente faccia clic nel campo. Lo aggiunga tramite attrs per guidare l'utente con discrezione.

forms.TextInput(attrs={"placeholder": "Enter a title"})

Etichette personalizzate

Django ricava le etichette dai nomi dei campi, ma può sostituirle. Il dizionario labels in Meta assegna a ogni campo una descrizione più intuitiva.

labels = {"body": "Post content"}

Perché le etichette sono importanti

Etichette chiare rendono un modulo leggibile e accessibile. Un campo chiamato pub_date è molto più comprensibile per gli utenti se viene mostrato come "Data di pubblicazione".

Aggiungere il testo di aiuto

Il dizionario help_texts mostra un breve suggerimento sotto un campo. Lo usi per spiegare limiti o formattazione senza appesantire l'etichetta.

help_texts = {"title": "Keep it under 60 characters."}

Messaggi di errore personalizzati

Può anche riscrivere gli errori di convalida con il dizionario error_messages, così la formulazione rispecchia lo stile della sua app.

error_messages = {
    "title": {"required": "Please add a title."}
}

Mettere tutto insieme

Tutte queste impostazioni si trovano una accanto all'altra in Meta. Combinando widget, etichette e help_texts ottiene un modulo ordinato e in linea con il brand, con quasi nessun codice aggiuntivo.

class Meta:
    model = Post
    fields = ["title", "body"]
    labels = {"body": "Content"}

Verifica rapida

Quale dizionario di Meta modifica il controllo HTML generato per un campo?

Riepilogo: personalizzare i campi

Ce l'ha fatta! In Meta può impostare widgets, labels, help_texts ed error_messages per fare in modo che qualsiasi ModelForm abbia esattamente l'aspetto e il testo desiderati. 🌟

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Widget, etichette e testo di supporto» è gratuita?

Sì — il testo completo di «Widget, etichette e testo di supporto» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.

Cosa imparerò in «Widget, etichette e testo di supporto»?

Controllare come viene visualizzato ogni campo Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Django Academy?

Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Widget, etichette e testo di supporto»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Django Academy?

Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Dichiarare un ModelForm e Meta.fields
  2. form.save() e commit=False
  3. Validazione personalizzata con i metodi clean
  4. Widget, etichette e testo di supporto
← Torna a Django Academy