我想实现忘记密码功能。在我的验证码功能中,表单未验证。 这是我的意见文件:
def getVerCode(request):
if (request.method == 'POST'):
form = VerCodeForm(request.POST)
print(form.errors)
if (form.is_valid()):
print('VALID')
code = request.POST.get('verCode', '')
print('GETVERCODE : ', verCode)
if (code == verCode):
pass
return HttpResponseRedirect('/custom/GetPassword', {'form': form})
else:
form = VerCodeForm()
return render_to_response('EmailVerification.html', {'form': form})
模板:
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'FormStyle.css' %}" />
{% block body %}
<div class = "formArea"> {% csrf_token %}
<label> Enter the verification code sent to your email account: </label>
{{ hidden_email }}
<div class="formFields">
<form method="POST">
<input type="text" name = "email" size="50"> </input>
{{ form.verCode.errors }}
<input type="submit" value="Submit">
</form>
</div>
</div>
{% endblock %}
形式:
class VerCodeForm(forms.Form):
verCode = forms.CharField(max_length = 10)
我试图打印form.errors:
它说 这个领域是必需的!
答案 0 :(得分:1)
您未正确命名模板上的输入。它应该是:
<input type="email" size="50" name="verCode"> </input>
答案 1 :(得分:0)
如果您使用循环来生成模板中的字段,那么更好的方法就是。
检查出来:
{% for field in form %}
<div>
<label>{{field.label_tag}}</label>
<div> {{field}} </div>
</div>
{% endfor %}
这将有助于您将来防止这些错误,并在模板中编写更少的代码。