2013-02-06 45 views
0

我已經創建了一個簡單的表單,視圖和模板文件,如下所述。 我的一個表單域是必需的(url1),另一個是可選的(comment1)。 在我的模板中,我想基於它們是否可選(例如:紅色必選,綠色選項),來顯示這兩個域的域標籤。我怎樣才能做到這一點?Django表單模板:如何檢查字段是否可選?

理想也就會看起來像這種形式的布爾值:form.url1.required_flag

這裏是我的形式:

class myForm(forms.Form): 
    url1 = forms.URLField(max_length=255, label='URL #1', required=True) 
    comment1 = forms.CharField(max_length=255, label='Comment #1', required=False) 

這種形式的看法是非常簡單的。沒有什麼花哨。

這裏是模板文件的相關部分:

<tr> 
    <td width="100" align="right"> 
     <div class="field_label"> 
      {{ form.url1.label_tag }}: 
     </div>  
    </td> 
    <td width="300"> 
     <div class="form_element_input"> 
      {{ form.url1 }} 
     </div>  
    </td> 
    <td width="100" align="right"> 
     <div class="field_label"> 
      {{ form.comment1.label_tag }}: 
     </div>  
    </td> 
    <td width="300"> 
     <div class="form_element_input"> 
      {{ form.comment1 }} 
     </div>  
    </td> 
</tr> 
+0

爲什麼不放在標籤「可選」或「需要」 – catherine

回答

1
{% if form.comment1.field.required %} 
    //do something 
{% else %} 
    //do something else 
{% endif %} 

應該幫助

但同樣,你幾乎可以使用CSS來不僅僅是簡單的顏色與一種顏色和URL與評論另一個。我不認爲你需要使用需要爲

+0

謝謝。解決了。這正是我需要的。 我更喜歡使用必填字段,以便我的模板更通用。如果我將表單字段從必需更改爲可選,我希望HTML輸出能夠反映該更改,而不必更改模板文件。這是DRY理念的一種形式。 –

+0

:)足夠公平。 – Jonathan

0

required_css_class

class myForm(forms.Form): 
    required_css_class = 'required' 
    url1 = forms.URLField(max_length=255, label='URL #1', required=True) 
    comment1 = forms.CharField(max_length=255, label='Comment #1', required=False) 

看看您可以form.field.css_classes達到CSS類或他們得到打印出來,如果你使用任何as_pas_table方法。

相關問題