[英]Working with django form 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',
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
按鈕,其他兩個密碼字段未顯示。 有人可以指出任何錯誤或任何方式嗎?
您reset_password_form
變量form
傳遞reset_password_form
。因此,要在模板上呈現
更改
{{ reset_password_form.as_p }}
至
{{ form.as_p}}
要么
將{'form': reset_password_form}
更改為{'reset_password_form': reset_password_form}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.