[英]Django Password-Reset Custom Template not working
我想使用Django的內置PasswordChangeView
讓用戶重置密碼。 我的PasswordResetView
和我的PasswordResetDoneView
正常工作。
Django總是給我錯誤:
NoReverseMatch at /reset
Reverse for 'password_reset_confirm' with keyword arguments
'{'uidb64': 'MTM', 'token': '549-1f211ad25c6d91e420a4'}' not found.
1 pattern(s) tried: ['password_change/$']
我已經嘗試添加:
path(
'password_change/',
auth_views.PasswordResetConfirmView,
{"template_name": "authenticate/reset/password_change.html"},
name="password_reset_confirm"),
但這並沒有改變任何東西。
我的網址模式:
path(
'reset',
auth_views.PasswordResetView.as_view(
template_name='authenticate/password/reset/reset.html'),
{
'template_name': 'email/test.html',
'html_email_template_name': 'email/test.html',
'email_template_name': 'email/test.txt',
'subject_template_name': 'email/test.txt',
},
name='password_reset'),
path(
'reset/done',
auth_views.PasswordResetDoneView.as_view(
template_name='authenticate/password/reset/done.html'),
name='password_reset_done'),
path(
'password_change/',
auth_views.PasswordResetConfirmView,
{"template_name": "authenticate/password/reset/confirm.html"},
name="password_reset_confirm"),
path(
'password_change/',
auth_views.PasswordResetCompleteView,
{"template_name": "authenticate/password/reset/complete.html"},
name="password_reset_complete"),
如果您閱讀有關PasswordResetConfirmView
的文檔,則可以看到:
URL中的關鍵字參數:
uidb64 :以64為底的用戶ID。
token :用於檢查密碼是否有效的令牌。
因此,這意味着您需要從以下位置更改您的網址
path('password_change/', auth_views.PasswordResetConfirmView ...
類似於這樣的東西
path('password_change/<uidb64>/<token>/', auth_views.PasswordResetConfirmView ...
您將必須找出適合您的確切格式,但這應該為您指明正確的方向。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.