Menu
CoddyTech

Feld für Feld

Teil des Abschnitts Formulare der Django-Journey von Coddy. Lektion 8 von 20.

{{ form }} gibt jedes Feld auf dieselbe Weise aus, eins unter dem anderen. Um jedes Feld in eine eigene Box zu setzen, gib die Felder einzeln aus.

Ein Formular ist eine Liste seiner Felder: {% for field in form %} gibt sie in der Reihenfolge aus, in der die Klasse sie deklariert. {{ field.as_field_group }} gibt ein Feld mit seiner Beschriftung, seinen Fehlern und seinem Eingabefeld aus. Eine Registrierungsseite mit zwei Namen nebeneinander:

<div class="row">
    <div class="half">{{ form.first_name.as_field_group }}</div>
    <div class="half">{{ form.last_name.as_field_group }}</div>
</div>

{{ form.email }} allein gibt nur das Eingabefeld aus: keine Beschriftung und keinen Fehlerhinweis darauf, was schiefgelaufen ist.

Das Stylesheet enthält bereits eine .field-Regel, die jede Box in eine Karte verwandelt.

challenge icon

Aufgabe

Einfach

Ersetze in new_event.html {{ form }} durch eine Schleife über die Felder des Formulars. Füge jedes Feld mit seiner Beschriftung, seinen Fehlern und seinem Eingabefeld in ein eigenes <div class="field"> ein.

Fülle den Titel und den Ort aus und gib nächsten Freitag als Datum ein: „Gib ein gültiges Datum ein.“ erscheint in der Datumskarte.

Probier es selbst

{% extends "events/base.html" %}

{% block title %}Add an event{% endblock %}

{% block content %}
<h1>Add an event</h1>
<form method="post">
    {% csrf_token %}
    {{ form }}
    <button type="submit">Add event</button>
</form>
{% endblock %}

Alle Lektionen in Formulare

Übe selbstständig: Django-Playground