我是Django的新手和一般的网络开发所以请耐心等待一个非常愚蠢的问题:)
我有一个从模型生成的表单,在这个表单中我有大约20个复选框。现在它们在一个长列中对齐,从UI的角度看它看起来不是很好。我希望将此列拆分为多个,但仍然可以从模型中自动生成此表单。你建议我做什么?
在生成的HTML个别复选框中,如下所示:
<li><label for="id_boxes_0"><input type="checkbox" name="boxes" value="1" id="id_boxes_0" /> some name</label></li>
答案 0 :(得分:2)
您不需要在Python代码中更改任何内容,但是您需要在模板中布局表单而不是使用{{form.as_ul}}。您可以遍历表单以获取字段。对于最简单的方法,类似下面的内容可以将20个字段放在10列的两列中:
{% for field in form %}
{% ifequal forloop.counter 11 %}</ul><ul>{% endifequal %}
<li>{{ field }}</li>
{% endfor %}
我个人从不在实际代码中使用as_ *辅助方法,只要我担心它们只对粗略原型有用。