【发布时间】:2017-07-02 17:49:43
【问题描述】:
这是我的 view.py,当我有一个表单时,当我使用必填字段提交时,它会给出适当的输出,但是当我没有在表单中输入任何内容并单击提交时,我收到一条错误消息,提示“局部变量'researcher' 在分配前引用”。
我还想知道如何将表单数据保存在目标页面上
def about_experiment(request,ex_link_name):
if request.method == 'POST':
form = AboutHelp(request.POST)
if form.is_valid():
researcher = form.cleaned_data['researcher']
study = form.cleaned_data['study']
else:
form = AboutHelp()
return render(request, 'about_experiment.html', {'researcher': researcher, 'study': study})
我在源页面上的表单是
<form action="{% url 'lazer.views.about_experiment' exp.link_name %}" method="POST" name="form">
{% csrf_token %}
<label>Researcher Name(s):<input type="text" name="researcher">
<lable>Study Summary<textarea rows="10" cols="50" placeholder="here you go" maxlength="500" class="form-control" name="study"></textarea>
<br>
<input type = "submit" value="Submit" class="btn btn-primary" />
</form>
表单输出所在的目标页面
<h4> Name : {{ researcher }} </h4><br>
<h4> Summary : {{ study }} </h4>
【问题讨论】:
标签: python django django-models django-forms django-views