问题是:我们可以将表单发送到包含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)
line13 - 13 {{form.owner}} *
答案 0 :(得分:1)
更改所有者字段中的choices
属性
owner = forms.ChoiceField(choices=[('Tyler','Tyler'), ('Aleks', 'Aleks')])