2016-05-23 14 views
0

Ich habe ein Formular, das eine Menge Widget enthält.Django Formulare: fügen Sie ein benutzerdefiniertes Etikett

Zusammengefasst, ein Widget = ein Label + ein Eingang.

Ich habe eine große Schleife, wo ich meine Felder wie folgt angezeigt:

{% if field.label %} 
    <label>{{ field.label }}</label> 
    <label for="{{ field.auto_id }}" sr-only">{{ field.label }} 
    </label> 
{% endif %} 
{{ field }} 

Mein Kunde möchte mich zwischen zwei Felder einen speziellen Text hinzufügen.

Er will so etwas wie:

  • Bezeichnung "Stadt" -> Eingang
  • spezifische label: "wählen Sie das Datum:"
  • Bezeichnung "Datum Start" -> Eingabe
  • label "date end" -> eingang

Ich bin auf der Suche nach einem sauberen Weg, dies zu tun.

Antwort

1

Dies ist, was das help_text Attribut eines Feldes allgemein ist. Denken Sie zum Beispiel an eine kleine Überschrift, die "Zwei-Buchstaben-Abkürzung" unter einer Eingabe für ein Bundesland/eine Provinz steht.

... 
{{ field }} 
{% if field.help_text %}<div class='styleme'>{{ field.help_text }}</div>{% endif %} 

Natürlich könnten Sie jedes Feld bei Bedarf auch einzeln rendern. Cleaner (wenn Sie viele Felder haben) - testen Sie, ob ein bestimmtes Feld in der Schleife ist.

{% if field.label == "A Certain Field" %} 
    <div>Some text here</div> 
{% endif %} 
+0

Die zweite Option = hart codiert ist weniger gut, aber sehr gute Idee, ich werde versuchen, die # 1! –

Verwandte Themen