Django 模板 {% block content %} 只能包含两个表单字段?
Django templates {% block content %} can contain only two form fields?
问题是:我们能否将超过 2 个字段的表单发送到模板中(我相信这应该是可能的)。请告知可能是什么问题:
我创建了包含 3 个字段的表单:
class Email(forms.Form):
owner = forms.ChoiceField(choices=['Tyler', 'Aleks'])
title = forms.CharField(max_length=150, label='Name the stuff')
file = forms.FilePathField(path=path, label='Enter the path')
然后,在视图中操作它,我将表单对象发送到模板:
def mail_distribution(request):
if request.method == 'POST':
form = Email(request.POST)
if form.is_valid():
render(request, 'general/email.html', {'form': form})
else:
form = Email()
return render(request, 'general/email.html', {'form': form})
这是模板本身:
{% extends 'general/base.html' %}
{% block content %}
<form class="form-vertical" action="mail_distrib" role="form" method="post">
{% csrf_token %}
<div class="form-group" style="display: inherit">
<center>
{{form.title}}
</center>
</div>
<div class="form-group" style="display: inherit">
<center>
{{form.owner}}
</center>
</div>
<div class="form-group" style="display: inherit">
<center>
{{form.file}}
</center>
</div>
<center><input type="submit" value="OK"></center>
</form>
{% endblock %}
之后我得到错误:
*模板渲染时出错
在模板 E:\Tyler\Projects\Web_dev\dj_api\Scripts\distribution\general\templates\general\email.html 中,第 13 行出错
太多值无法解压(预计 2 个)
第 13 行 - 13 {{form.owner}}*
像这样更改 choices
所有者字段中的属性
owner = forms.ChoiceField(choices=[('Tyler','Tyler'), ('Aleks', 'Aleks')])
问题是:我们能否将超过 2 个字段的表单发送到模板中(我相信这应该是可能的)。请告知可能是什么问题:
我创建了包含 3 个字段的表单:
class Email(forms.Form):
owner = forms.ChoiceField(choices=['Tyler', 'Aleks'])
title = forms.CharField(max_length=150, label='Name the stuff')
file = forms.FilePathField(path=path, label='Enter the path')
然后,在视图中操作它,我将表单对象发送到模板:
def mail_distribution(request):
if request.method == 'POST':
form = Email(request.POST)
if form.is_valid():
render(request, 'general/email.html', {'form': form})
else:
form = Email()
return render(request, 'general/email.html', {'form': form})
这是模板本身:
{% extends 'general/base.html' %}
{% block content %}
<form class="form-vertical" action="mail_distrib" role="form" method="post">
{% csrf_token %}
<div class="form-group" style="display: inherit">
<center>
{{form.title}}
</center>
</div>
<div class="form-group" style="display: inherit">
<center>
{{form.owner}}
</center>
</div>
<div class="form-group" style="display: inherit">
<center>
{{form.file}}
</center>
</div>
<center><input type="submit" value="OK"></center>
</form>
{% endblock %}
之后我得到错误:
*模板渲染时出错
在模板 E:\Tyler\Projects\Web_dev\dj_api\Scripts\distribution\general\templates\general\email.html 中,第 13 行出错 太多值无法解压(预计 2 个)
第 13 行 - 13 {{form.owner}}*
像这样更改 choices
所有者字段中的属性
owner = forms.ChoiceField(choices=[('Tyler','Tyler'), ('Aleks', 'Aleks')])