Campo per campo
Fa parte della sezione Form del percorso Django di Coddy. Lezione 8 di 20.
{{ form }} disegna ogni campo nello stesso modo, uno sotto l’altro. Per mettere ogni campo in un riquadro personalizzato, disegna i campi uno alla volta.
Un modulo è un elenco dei suoi campi: {% for field in form %} li restituisce nell’ordine in cui sono dichiarati nella classe. {{ field.as_field_group }} disegna un campo con la sua etichetta, i suoi errori e il suo input. Una pagina di registrazione con due nomi affiancati:
<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 }} da solo disegna soltanto l’input: nessuna etichetta e nessun errore che indichi cosa è andato storto.
Il foglio di stile ha già una regola .field che trasforma ogni riquadro in una scheda.
Sfida
FacileIn new_event.html, sostituisci {{ form }} con un ciclo sui campi del modulo. Inserisci ogni campo nel proprio <div class="field">, insieme alla relativa etichetta, agli errori e all’input.
Compila il titolo e il luogo, poi inserisci il prossimo venerdì come data: «Enter a valid date.» appare all’interno della scheda Date.
Provalo tu
{% 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 %}
Tutte le lezioni di Form
Esercitati da solo: Playground Django