2009-09-04 11 views
40

Ich rendere ein Formular. Ich möchte neben alle Felder, die ausgefüllt werden müssen, ein Zeichen setzen. Einfaches Zeug normalerweise ... aber ich habe keine Ahnung, wie ich auf diese Informationen zugreifen soll!Ermitteln, ob ein Django-Feld von der Vorlage benötigt wird

{% if field.required %}REQUIRED!!{% endif %} 

bringt keine Liebe ...

+0

möglich Duplikat von [Wie mit Informationen Formularfeld zu machen, dass es erforderlich ist,] (http://stackoverflow.com/questions/1254046/how-to-render-form-field-with-information-that -es wird benötigt) – Anto

Antwort

81
{% if field.field.required %} 

Von this snippet

+1

Urgh ... Natürlich! Vielen Dank! – Oli

0

ich schreiben in der Regel die HTML für jedes meiner Formularelemente, so habe ich ein wenig mehr Kontrolle über Jeder. Dann können Sie ein * für erforderlich oder erforderlich hinzufügen.

<p><label>Title: *<br /> 
{% if form.title.errors %}<ul class="errorlist">{{ form.title.errors }}</ul>{% endif %} 
{{form.title}} 
</label></p>  

<p><label>Category:<br /> 
{% if form.category.errors %}<ul class="errorlist">{{ form.category.errors }}</ul>{% endif %} 
{{form.category}} 
</label></p> 
+0

Wäre cool, dies als ein benutzerdefiniertes Template-Tag zu sehen. – dfrankow

+0

Das Schreiben von HTML für jedes Element ist fehlerhaft: Wenn Sie etwas HTML in Titel ändern, vergessen Sie möglicherweise, diesen Wert in Kategorie zu ändern. Und natürlich DRY: wiederhole dich nicht. So ist der beste Weg, einen HTML-Code für alle Felder zu schreiben. – MrKsn

+0

@MrKsn Schreiben von HTML für jedes Element ist nicht "fehlerhaft", das ist keine gute Aussage zu machen. Die meisten Leute schreiben ihren HTML-Code für die vollständige Kontrolle über Formulare aus. Es ist selbstverständlich, die Vorlage zu aktualisieren, sobald ein Feld hinzugefügt oder geändert wurde. – JeffC

Verwandte Themen