Django: для цикла для итерации полей формы
Я не хочу использовать встроенную генерацию формы django, стремясь указать каждое поле в моем шаблоне, чтобы настроить вывод html.
Как выполнить итерацию по ряду полей формы?
если моя форма выглядит так:
class MyForm(forms.Form):
main_image = forms.ImageField()
second_image = forms.ImageField()
third_image = forms.ImageField()
fourth_image = forms.ImageField()
...
есть ли способ, чтобы написать {% for %}
цикл, чтобы я мог перебирать:
{{ form.main_image }}
{{ form.second_image }}
{{ form.third_image }}
{{ form.fourth_image }}
я попробовал следующее, которое казалось логичным, но не сработало:
{% for field in form %}
{{ form.field }}
{% endfor %}
3 ответов
Ну это явно не работает:
{% for field in form %}
{{ form.field }}
{% endfor %}
а это:
{% for field in form %}
{{ field }}
{% endfor %}
лучший способ-использовать два цикла, один для скрытых полей и один для видимых полей:
visibles:
{% for field in form.visible_fields %}
{{ field.label }}
{{ field }}
{% endfor %}
скрытый:
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
таким образом, вы будете иметь больше контроля над элементами интерфейса.