フォームフィールドのrequired属性にテンプレートからアクセスする
フォームの必須の入力フィールドになんらかのマークを付けたい場合、以下みたいにハードコーディングしていると、フォームの定義が変わったときにテンプレートも修正しなければいけなくなる。
<div> <label for="{{ form.name.label }}">{{ form.name.label_tag }} (必須)</label> {{ form.name.error }} {{ form.name }} </div> <div> <label for="{{ form.age.label }}">{{ form.age.label_tag }}</label> {{ form.age.error }} {{ form.age }} </div>
テンプレートからrequiredにアクセスできるので、テンプレート側で出し分けができる。
{% for field in form %}
<div>
<label for="{{ field.label }}">{{ field.label_tag }} {% if field.field.required %} (必須){% endif %}</label>
{{ field.error }}
{{ field}}
</div>
{% endfor %}