Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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密码重置功能中的NoReverseMatch错误_Python_Django_Forms_Passwords_Reset - Fatal编程技术网

Python django密码重置功能中的NoReverseMatch错误

Python django密码重置功能中的NoReverseMatch错误,python,django,forms,passwords,reset,Python,Django,Forms,Passwords,Reset,我试图在django中实现密码重置功能,下面是我的代码 url.py urlpatterns = patterns('', url(r'^signup/$', 'accounts.views.signup', name="signup_email"), url(r'^user/password/reset/$', 'django.contrib.auth.views.password_reset', {'template_name':'accounts/forgot_passwo

我试图在django中实现密码重置功能,下面是我的代码

url.py

urlpatterns = patterns('',
    url(r'^signup/$', 'accounts.views.signup', name="signup_email"),
    url(r'^user/password/reset/$', 'django.contrib.auth.views.password_reset', {'template_name':'accounts/forgot_password.html',\
                               'post_reset_redirect' : '/user/password/reset/done/'}, name="reset_password"),
    url(r'^user/password/reset/done/$', 'django.contrib.auth.views.password_reset_done'),
忘记密码.html

     <form accept-charset="UTF-8" action="{% url 'reset_password' %}" class="reset_pass" id="reset_pass" method="post">
            {% csrf_token %}
            <div class="control-group">
                <label class="control-label" for="user_email" style="font-size: 18px; color: #474747">Email</label>
                <div class="controls">
                    <input class="" id="id_email" name="email" type="text" value="">

                </div>
            </div>
            <div class="control-group">
                <div class="controls">
                    <button type="submit" value="reset_password" class="btn btn-primary">Send me reset password</button>
                </div>
            </div>
       </form>


任何人都可以告诉我,即使我使用内置视图,它为什么会抱怨
NoReversemtach

您需要在
url.py
中添加该url+视图,如下所示

url(r'^user/password/reset/confirm/$', 
             'django.contrib.auth.views.password_reset_confirm'),
它提供了一个输入新密码的表单

您可能还需要添加此选项

url(r'^user/password/reset/complete/$', 
             'django.contrib.auth.views.password_reset_complete'),

您还可以使用
django.contrib.auth.url
中定义的默认URL,包括

(r'^accounts/', include('django.contrib.auth.urls')),
到您的
url.py

password\u reset\u confirm
模式需要为
uidb64
令牌提供两个附加参数:

url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
    'password_reset_confirm',
url(r'^reset/(?P[0-9A-Za-z_ \-])/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$,
“密码重置确认”,
请参见此处的答案:

url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
    'password_reset_confirm',