2009-09-04 7 views
40

Renderuję formularz. Chciałbym umieścić znak obok wszystkich pól, które muszą być wypełnione. Proste rzeczy zwykle ... ale nie mam pojęcia, jak uzyskać dostęp do tych informacji!Powiedz, czy wymagane jest pole Django z szablonu

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

nie przynosi żadnej miłości ...

+0

możliwe duplikat [Jak uczynić formularz pole z informacją, że jest ona wymagana] (http://stackoverflow.com/questions/1254046/how-to-render-form-field-with-information-that -to-jest-wymagane) – Anto

Odpowiedz

81
{% if field.field.required %} 

Od this snippet

+1

Urgh ... Oczywiście! Dziękuję Ci! – Oli

0

zwykle pisać html dla każdego z moich elementów formularza, więc mam trochę większą kontrolę nad każdy. Następnie możesz dodać * wymagane lub WYMAGANE !!.

<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

Byłoby fajnie, aby zobaczyć to jako niestandardowy tag szablonu. – dfrankow

+0

Zapisywanie html dla każdego elementu jest błędne: jeśli zmienisz trochę html w "Tytuł", możesz zapomnieć zmienić tę wartość w "Kategorii". I, oczywiście, DRY: nie powtarzaj się. Najlepszym sposobem jest napisanie jednego html dla wszystkich pól. – MrKsn

+0

@MrKsn Zapisywanie html dla każdego elementu nie jest "błędne", to nie jest dobre stwierdzenie w ogóle. Większość osób wypisze swój kod HTML w celu pełnej kontroli formularzy. Po dodaniu lub zmianie pola szablonowego aktualizacja szablonu jest drugą naturą. – JeffC