<form action="/contact/" method="post">
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
<p><input type="submit" value="Send message" /></p>
</form>
代码与每行数据条目完美配合,但为了节省空间,我希望每行渲染2组数据。(即每行2个字段,并使用<br>
)< / p>
应该看起来像
field1.tag : field1, field2.tag: field2.
或类似的解决方案
答案 0 :(得分:1)
最佳解决方案是在样式级别上解决它。
就像那样(see demo):
模板:
<form action="/contact/" method="post">
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
<p><input type="submit" value="Send message" /></p>
</form>
CSS:
.fieldWrapper {
float: left;
width: 50%;
}
或者,您可以使用更复杂的模板代码来生成行和列。为此,您可以使用Django's for
loop variables,例如:
forloop.counter
(或forloop.counter0
) - 包含循环中当前元素的编号,forloop.first
- True
如果当前元素是第一个,则False
,forloop.last
- True
如果当前元素是最后一个元素,则False
,但是应该在样式层上解决演示问题(“节省屏幕空间”)。