Python 使用django表单模板
我试图使用模板(简单的一个)重置密码使用Django表单和模板。以下是使用的文件:Python 使用django表单模板,python,django,templates,Python,Django,Templates,我试图使用模板(简单的一个)重置密码使用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
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\u 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>
并且输出仅显示一个按钮
重置密码
,其他两个密码字段不显示。有人能指出任何错误或任何方式吗?您正在传递变量表单
中的reset\u password\u表单
。以便在模板上渲染
改变
{{ reset_password_form.as_p }}
到
或
将
{'form':reset_password_form}
更改为{'reset_password_form':reset_password_form}
您能将{reset_password_form.as_p}更改为{form.as_p}
在html中呈现之前,在视图中打印重置密码表单
。在您的问题中也粘贴视图代码。我按照您的建议更改了html页面-->{{form.as\p}}
,效果很好!谢谢
{{ reset_password_form.as_p }}
{{ form.as_p}}