0
我正在使用自定義模板在Django中設置密碼重置功能。 但是,當我輸入mail:id並單擊重置密碼時,我面臨着「無反向匹配錯誤」。請別人幫我,我明白這是一個老問題,我跟着其他答案並嘗試解決但不能上來與solution.Please找到下面的代碼,並幫助我解決這個問題。Django:沒有密碼重置的反向匹配
urls.py:
from django.conf.urls import url,include
from django.contrib import admin
from django.contrib.auth.views import password_reset,password_reset_done,password_reset_confirm,password_reset_complete
from surveysite.views import home,about,login,loggedin,loggedout
urlpatterns = [
url(r'^$', home, name='home'),
url(r'^about/$',about, name='about'),
url(r'^accounts/', include('registration.backends.default.urls')),
url(r'^accounts/login/$', login, name='login'),
url(r'^accounts/loggedin/$',loggedin, name='loggedin'),
url(r'^accounts/logout/$', loggedout, name='logout'),
url(r'^accounts/password_reset/$', password_reset,
{'post_reset_redirect' : '/accounts/password_reset/mailed/'},
name="password_reset"),
url(r'^accounts/password_reset/mailed/$',password_reset_done),
url(r'^accounts/password_reset/(?P<uidb36>[0-9A-Za-z]{1,13})-(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',password_reset_confirm,
{'post_reset_redirect' : '/accounts/password_reset/complete/'},name="password_reset_confirm"),
url(r'^accounts/password_reset/complete/$',password_reset_complete),
url(r'^admin/', admin.site.urls),
]
Password_reset_email
{% autoescape off %}
You're receiving this email because you requested a password reset for your user account at {{ site_name }}.
Please go to the following page and choose a new password:
{% block reset_link %}
{{ protocol }}://{{ domain }}{% url 'django.contrib.auth.views.password_reset_confirm' uidb36=uid token=token %}
{% endblock %}
Your username, in case you've forgotten: {{ user.get_username }}
Thanks for using our site!
The {{ site_name }} team
{% endautoescape %}
錯誤堆棧跟蹤
NoReverseMatch at /accounts/password_reset/
Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb36': 'MQ', u'token': u'4jz-530973903a3b600e2a97'}' not found. 0 pattern(s) tried: []
Request Method: POST
Request URL: http://localhost:8000/accounts/password_reset/
Django Version: 1.10.5
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'django.contrib.auth.views.password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb36': 'MQ', u'token': u'4jz-530973903a3b600e2a97'}' not found. 0 pattern(s) tried: []
Exception Location: C:\Python27\lib\site-packages\django\urls\resolvers.py in _reverse_with_prefix, line 392
Python Executable: C:\Python27\python.exe
Python Version: 2.7.13
Python Path:
['G:\\Manoj\\Software Engineering-Yui Man lee\\Django_Project\\surveysite',
'C:\\Python27',
'C:\\Python27\\Tools\\Scripts',
'G:\\Manoj\\Software Engineering-Yui Man lee\\Django_Project\\surveysite',
'C:\\WINDOWS\\SYSTEM32\\python27.zip',
'C:\\Python27\\DLLs',
'C:\\Python27\\lib',
'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk',
'C:\\Python27\\lib\\site-packages',
'C:\\Python27\\lib\\site-packages\\PIL']
In template G:\Manoj\Software Engineering-Yui Man lee\Django_Project\surveysite\templates\registration\password_reset_email.html, error at line 6
我甲肝e從下面的鏈接嘗試解決方案,但找不到解決方案。 NoReverseMatch on password_Reset_confirm
https://github.com/bread-and-pepper/django-userena/issues/380
https://stackoverflow.com/questions/35745674/django-password-reset-noreversematch-error
我從http://code.techandstartup.com/django/reset-password/ ==>自定義的模板下面的教程。
感謝您的答案將您的URL模式的名稱,它的工作與Chrome瀏覽器,但昨天我的工作Firefox和它的不工作,可能是我的瀏覽器設置問題。 –