Django Academy · Lektion

Widgets, etiketter och hjälptext

Styr hur varje fält renderas

Lektion 4 av 413 steg

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. 🌟

Gratis att börja

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

  1. Deklarera en ModelForm och Meta.fields
  2. form.save() och commit=False
  3. Anpassad validering med clean-metoder
  4. Widgets, etiketter och hjälptext
← Tillbaka till Django Academy