2012-09-08 55 views
0

我建立了一个Django的形式,简单摘录如下: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 ............................(复选框)

(标签)Extract上传ISO .............................(复选框)

如何更好地控制布局时表单得到渲染,所以复选框都在一行?

谢谢 - 奥利

回答

3

可以在窗体和控件的外观分别解析领域和感觉。每个字段的标签可以呈现为{{field.label_tag}},字段输入为{{field}}

Django forms documentation

<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> 
+0

由于更多细节 - 我试过了,但因为我的jQuery,我在我的网页,这我最初隐藏,直到复选框被选中未必填字段,大大的白色上运行空格出现。 – Oli

+0

@Oli这可能是一些不同的问题。也许你可以验证布局而不让JS显示字段。 – Rohan

+0

好的谢谢 - 你的答案给了我一些工作..我会继续玩它。出于兴趣,这是一个好主意吗? https://docs.djangoproject.com/en/dev/topics/forms/#customizing-the-form-template或者我应该尝试让django为我做渲染? – Oli