Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用django表单模板_Python_Django_Templates - Fatal编程技术网

Python 使用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

我试图使用模板(简单的一个)重置密码使用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\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}}