flask render_field関数でFormレイアウトする際のclassの指定方法

render_fieldでFormを作成した場合のクラス指定方法は以下の二通りになる。
1. field(inputやradio、textaread等)に対してclass指定する

<form method="POST">
<dl class="row">
    {{ form.csrf_token }}
    <!-- render_fieldの第二引数にclassを指定する -->
    {{ render_field(form.name,class="test") }}
    {{ render_field(form.age) }}
    <dt class="col-2">
    {{ form.submit() }}
    </dt>
</dl>
</form>

2 labelに対してclassを指定する

{% macro render_field(field) %}
<dt class="col-2">
    <!-- field.labelの引数にclassを指定する -->
    {{ field.label(class="test") }}
</dt>
<dd class="col-10">
    {{ field(**kwargs)|safe }}
</dd>
{% if field.errors %}
<ul>
    {% for error in field.errors %}
        <li>{{ error }}</li>
    {% endfor %}
</ul>
{% endif %}
{% endmacro %}

この記事が気に入ったらサポートをしてみませんか?