以下に説明するように、単純なフォーム、ビュー、およびテンプレートファイルを作成しました。フォームフィールドの1つは必須(url1)で、もう1つはオプション(comment1)です。私のテンプレートでは、これら2つのフィールドのフィールドタグを、オプションかどうかに基づいて異なる方法で表示したいと思います(たとえば、赤で必須、緑でオプション)。どうやってやるの?
理想的には、次のようなフォームにブール値があります: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>