<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>)
应该是这样的
field1.tag : field1, field2.tag: field2.
或一些类似的解决方案
请您参考如下方法:
最佳解决方案:样式
最好的解决方案是在样式层面解决它。
像那样 ( 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否则,
但是呈现问题(“节省屏幕空间”)应该在样式层上解决。
