Использование django-widget-tweaks для нескольких полей

Я использую django-widget-tweaks для валидации следующим образом

{% if form.is_bound %}
    {% if form.action.errors %}
        {% render_field form.action class="form-control is-invalid"  %}
        {% for error in form.action.errors %}
            <div class="has-error">
              {{ error }}
            </div>
        {% endfor %}
    {% else %}
        {% render_field form.action class="form-control is-valid" %}
    {% endif %}
{% else %}
    {% render_field form.action class="form-control" %}
{% endif %}

Это работает хорошо, но когда я использую два поля, мой код будет.

{% if form.is_bound %}
    {% if form.action.errors %}
        {% render_field form.action class="form-control is-invalid"  %}
        {% for error in form.action.errors %}
            <div class="has-error">
              {{ error }}
            </div>
        {% endfor %}
    {% else %}
        {% render_field form.action class="form-control is-valid" %}
    {% endif %}
{% else %}
    {% render_field form.action class="form-control" %}
{% endif %}
{% if form.is_bound %}
    {% if form.action2.errors %}
        {% render_field form.action2 class="form-control is-invalid"  %}
        {% for error in form.action2.errors %}
            <div class="has-error">
              {{ error }}
            </div>
        {% endfor %}
    {% else %}
        {% render_field form.action2 class="form-control is-valid" %}
    {% endif %}
{% else %}
    {% render_field form.action2 class="form-control" %}
{% endif %}

Это не выглядит круто... Если я использую три, четыре поля, код будет все длиннее и длиннее.

Существует ли лучшая практика для этой цели?

Вы можете попробовать установить его в классе Form

class MyForm(forms.Form):
     my_files_field = forms.FileField(widget=forms.ClearableFileInput(attrs={'multiple':
True}))
Вернуться на верх