我想使用Django的內置密碼重置。 我的urls.py如下。Django:反向不解析內置密碼重置的url
app_name = 'recruiter'
urlpatterns= [
#urls
]
urlpatterns += [
url(r'^password_reset_done/$', password_reset_done, name='password_reset_done'),
url(r'^password_reset/$', password_reset, name='password_reset'),
url(r'^password_reset_confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>,+)/$', password_reset_confirm, name='password_reset_confirm'),
url(r'^password_reset_complete/$', password_reset_complete, name='password_reset_complete'),
]
如果我這樣做,那麼它會給這個內置函數的線條發生錯誤。
reverse('password_reset')
如果我刪除app_name = 'recruiter'
然後它工作正常,但命名空間是爲其他應用程序的功能去掉。我該如何解決這個問題?
此外,如果我刪除app_name = 'recruiter'
並嘗試重置密碼,那麼在提交電子郵件後,我在這一行上得到錯誤。
{{ protocol }}://{{ domain }}{% url 'password_reset_confirm' uidb64=uid token=token %}
錯誤是這樣的:
NoReverseMatch at /recruiter/password_reset/
Reverse for 'password_reset_confirm' with arguments '()' and keyword arguments '{u'uidb64': 'Mw', u'token': u'4fd-f1aeba7ed3a5410a30da'}' not found. 1 pattern(s) tried: ['recruiter/password_reset_confirm/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>,+)/$']
reverse()調用是內置函數,所以我無法更改它。 –