フォームの必須の入力フィールドになんらかのマークを付けたい場合、以下みたいにハードコーディングしていると、フォームの定義が変わったときにテンプレートも修正しなければいけなくなる。
<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 %}