Widgets, etiketter och hjälptext
Styr hur varje fält renderas
Widgets, etiketter och hjälptext är en gratis lektion i Django Academy på CoddyKit. Detta är lektion 4 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Django Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Django Academy innehåller totalt 4 lektioner.
Förfina formuläret
Ett fungerande ModelForm är bra, men de automatiskt genererade fälten känns enkla. Du kan förfina hur varje fält ser ut och fungerar med widgets, etiketter och hjälpråd. 🎨
Vad är en widget?
En widget är HTML-kontrollen som renderas för ett fält, till exempel ett textfält, en textarea eller en datumväljare. Byt ut den för att ändra vilket indatafält som visas.
Åsidosätt widgets i Meta
Ange dict-attributet widgets i Meta för att koppla ett fältnamn till en annan kontroll. Här blir ett body-fält en rymlig textarea.
class Meta:
model = Post
fields = ["body"]
widgets = {"body": forms.Textarea}Skicka widget-attribut
Skapa en instans av widgeten för att skicka med HTML-attrs, till exempel rader eller en CSS-klass. Så kopplar du formulär till din styling.
widgets = {
"body": forms.Textarea(attrs={"rows": 4})
}Lägg till en CSS-klass
Samma attrs-dict lägger till en klass så att din stylesheet kan rikta sig mot indatafältet. Det passar bra för Bootstrap eller dina egna utility-klasser.
forms.TextInput(attrs={"class": "form-control"})Ange en platshållare
En placeholder antyder vad som ska skrivas innan användaren klickar i fältet. Lägg till den via attrs för att vägleda på ett diskret sätt.
forms.TextInput(attrs={"placeholder": "Enter a title"})Anpassade etiketter
Django skapar etiketter för fält utifrån deras namn, men du kan åsidosätta dem. Dict-attributet labels i Meta ger valfritt fält en tydligare etikett.
labels = {"body": "Post content"}Varför etiketter är viktiga
Tydliga etiketter gör ett formulär lättläst och tillgängligt. Ett fält med namnet pub_date blir mycket tydligare för användarna när det visas som "Publiceringsdatum".
Lägga till hjälptext
Dict-objektet help_texts visar en kort ledtråd under ett fält. Använd det för att förklara begränsningar eller formatering utan att överbelasta etiketten.
help_texts = {"title": "Keep it under 60 characters."}Anpassade felmeddelanden
Ni kan även formulera om valideringsfel med dict-objektet error_messages, så att formuleringarna passar appens ton.
error_messages = {
"title": {"required": "Please add a title."}
}Sätta ihop allt
Alla dessa inställningar finns sida vid sida i Meta. Genom att kombinera widgets, etiketter och help_texts får ni ett rent, varumärkesanpassat formulär med nästan ingen extra kod.
class Meta:
model = Post
fields = ["title", "body"]
labels = {"body": "Content"}Snabb kontroll
Vilket dict-objekt i Meta ändrar HTML-kontrollen som renderas för ett fält?
Sammanfattning: Anpassa fält
Ni klarade det! I Meta kan ni ange widgets, etiketter, help_texts och error_messages för att få valfritt ModelForm att se ut och läsas precis som ni vill. 🌟
Lär dig Python med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Widgets, etiketter och hjälptext” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Django Academy, inklusive ”Widgets, etiketter och hjälptext”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Django Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Widgets, etiketter och hjälptext”?
Styr hur varje fält renderas Ni övar på Django Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Django Academy?
Du behöver inga förkunskaper. Utbildningen i Django Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Widgets, etiketter och hjälptext”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Django Academy-lektionen?
Ja. Varje Django Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Deklarera en ModelForm och Meta.fields
- form.save() och commit=False
- Anpassad validering med clean-metoder
- Widgets, etiketter och hjälptext