我已经构建了一个django表单,简单的提取如下:
attachuploadediso = forms.BooleanField(label='Attach uploaded ISO', required=False)
detachuploadediso = forms.BooleanField(label='Detach uploaded ISO', required=False)
extractuploadediso = forms.BooleanField(label='Extract uploaded ISO', required=False)
然后我在模板中渲染表单如下:
{% block mainbody %}
<form class = "mf" action="/form/" method="post">{% csrf_token %}
{{ form.errors }}
{{ form.non_field_errors }}
{{ form.label_tag }} {{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock %}
复选框显示在标签文本之后。有没有办法复选框出现在一行中,以便表单看起来像格式更好?或者有没有办法可以更好地控制表单的布局?我使用了form.as_table,但是如果我在表格中渲染表单,我的jquery会中断。
总之,我想
(标签)附加上传的ISO .............................(复选框)
(标签)分离上传的ISO ............................(复选框)
(标签)提取上传的ISO .............................(复选框)
如何在表单呈现时更好地控制布局,以便复选框都在一行中?
谢谢 - Oli
答案 0 :(得分:4)
您可以在表单中单独渲染每个字段并控制外观。每个字段都有标签,可以呈现为{{field.label_tag}}
,字段输入为{{field}}
。
<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>