2016-07-04 4 views
1

Ich Iterieren und zerreißt die Felder einer Django Form als Render derzeit iteriert aber auch der nachher? Und außerdem dann weiter die Iteration? Ich muss Felder in dieselbe Reihe legen. Also, wenn ich zum Beispiel diese Felder haben:Wie kann ich Formularfelder in der gleichen Zeile in Django Template

field_1_a, field_1_b,field_2_a, field_2_b, 

Ich brauche die ersten beiden in der gleichen Linie zu sein, und die anderen beiden in die nächste.

Antwort

1

Verwenden Sie die {% cycle %} template tag einen <br/> Render-Tag nur einmal in zwei Iterationen:

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

Oder:

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

Der Versuch, den aktuellen Eintrag und das nächste Element in einer Iteration zu erhalten wäre schmerzhaft zu schreiben, schrecklich zu lesen und schwer zu pflegen.

+0

Danke! Ich bekomme einen Fehler: Der Rest konnte nicht analysiert werden: '%' von '%' Irgendeine Idee, warum das passiert. Ich kann nichts sehen, fehlt. – user1919

+1

Sie haben Recht, es sieht so aus, als ob der Modulo-Operator nicht existiert. Sie könnten es erstellen, aber es wäre tatsächlich besser, das Schablonen-Tag '{% cycle%}' zu verwenden. Ich aktualisiere meine Antwort. –

Verwandte Themen