2009-09-04 52 views
40

我正在渲染一個表單。我想在所有必須填寫的字段旁標上一個標記。通常簡單的東西......但我不知道如何訪問這些信息!如果需要從模板中獲取Django字段

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

不會帶來任何的愛...

+0

可能重複的[如何渲染表單字段與它所需的信息](http://stackoverflow.com/questions/1254046/how-to-render-form-field-with-information-that -it-is-required) – Anto 2014-02-19 18:08:54

回答

81
{% if field.field.required %} 

this snippet

+1

Urgh ...當然!謝謝! – Oli 2009-09-04 13:40:36

0

我平時寫出來我的每個表單元素的HTML,所以我有更多一點的控制權每一個。然後你可以添加一個*爲必填項或必填項!!

<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

將此視爲自定義模板標籤會很酷。 – dfrankow 2009-11-01 16:51:33

+0

爲每個元素寫出html是bug:如果你在'Title'中改變了一些html,你可能會忘記在'Category'中改變這個值。當然,DRY:不要重複自己。 所以最好的方法是爲所有字段編寫一個html。 – MrKsn 2013-12-22 04:45:26

+0

@MKKn爲每個元素寫出html不是「錯誤的」,這不是一個好的聲明。大多數人會寫出他們的HTML來完全控制表單,一旦添加或更改字段,更新模板是第二種性質。 – JeffC 2014-09-24 16:20:46

相關問題