Fri*_*end 4 html python django django-templates django-forms
以下是我的表格代码:
class FMessage(forms.Form):
From = forms.CharField()
To = forms.CharField()
Subject = forms.CharField()
Message = forms.CharField()
Run Code Online (Sandbox Code Playgroud)
这是我的HTML代码:
<form method='POST' action='.'>
{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='submit'>
</form>
Run Code Online (Sandbox Code Playgroud)
代码通过显示表单工作正常,并且在功能上没有任何问题,但现在我需要将表单字段包装在html中,div如下所示:
<div id='mydiv'>
<input ... />
<div>
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
Amy*_*yth 13
好像你真的不想使用内置<p>或<table>包装的表单,而是想要显示包含在其中的字段<div>'s.您可以简单地迭代表单中的字段,如下所示.
{% if form %}
<!-- Form Errors -->
{% if form.errors %}
<ul class="errors">
{% for error in form.errors %}
<li>{{ error }}</li>
{% endfor %}
</ul>
{% endif %}
<!-- Display Form -->
<form>
{% csrf_token %}
{% for field in form %}
<div class="mydiv">
<label class="mylabel">{{ field.label }}</label>
{{ field }}
</div>
{% endfor %}
</form>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
不要使用form.as_p. 您需要显示表单的每个字段,例如,使用form.to. 通过使用这种方式,您可以将字段 'to' 包装成一个 div
<div>{{ form.To}} </div>
Run Code Online (Sandbox Code Playgroud)
欲了解更多详情,请查看此链接