如何在Django Template

时间:2016-07-04 10:23:40

标签: django django-forms

我正在迭代并将Django表单的字段重命名为:

      {% for field in form_empty_layer.visible_fields %}
         {{ field | as_bootstrap }} </br>
       {% endfor %}

Django中是否有一种方法不仅可以获得当前迭代的字段,还可以获得之后的字段? 然后继续迭代?我需要把字段放在同一行。 所以,例如,如果我有这些字段:

field_1_a, field_1_b,field_2_a, field_2_b, 

我需要前两个在同一行,另外两个在下一行。

1 个答案:

答案 0 :(得分:1)

使用{% cycle %} template tag仅在两次迭代中呈现<br/>代码一次:

{% for field in form_empty_layer.visible_fields %}
    {% cycle False True as even_row silent %}
    {{ field|as_bootstrap }}{% if even_row %}<br/>{% endif %}
{% endfor %}

或者:

{% for field in form_empty_layer.visible_fields %}
    {{ field|as_bootstrap }}{% cycle "" "<br/>" %}
{% endfor %}

尝试在一次迭代中获取当前项目和下一项目将会很难写入,难以阅读且难以维护。