我试图使用模板(简单的一个)重置密码使用Django形式和模板。使用的文件如下:
forms.py
from django import forms
from django.contrib.auth import get_user_model
User = get_user_model()
class ResetPasswordForm(forms.Form):
new_password = forms.CharField(
label='New password',
widget=forms.PasswordInput(render_value=False),
)
confirm_new_password = forms.CharField(
label='Confirm New password',
widget=forms.PasswordInput(render_value=False),
)
class Meta:
model = User
fields = ('password')
def clean(self):
password = self.cleaned_data['new_password']
confirm_password = self.cleaned_data['confirm_new_password']
if password != confirm_password:
raise forms.ValidationError(u'Passwords are not equal')
return self.cleaned_data
reset_password.html
<html>
<head>
<title>Reset Password</title>
</head>
<body>
<form id="reset_password_form" method="post">
{% csrf_token %}
{{ reset_password_form.as_p }}
<input type="submit" name="submit" value="Reset Password" />
</form>
</body>
</html>
在views.py
我调用这个页面
return render(request, "reset_password.html",
{'form': reset_password_form})
并且输出只显示一个按钮Reset Password
,其他两个密码字段不显示。有人能指出任何错误或方法吗?你知道吗
您正在变量
form
中传递reset_password_form
,以便在模板上呈现改变
至
或
将
{'form': reset_password_form}
更改为{'reset_password_form': reset_password_form}
相关问题 更多 >
编程相关推荐