Django auth_views.PasswordResetView 不发送自定义电子邮件模板
Django auth_views.PasswordResetView not sending custom email template
我正在尝试发送带有重置令牌的自定义电子邮件模板。但无论我做什么,它都会继续发送原始 HTML 。我以前有过使用 Django 和 Django rest 框架做完全相同的事情而没有任何问题的经验。
这是我的做法,
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('store.urls')),
path('', include('django.contrib.auth.urls')),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
store/urls.py
...
path('password_reset',
auth_views.PasswordResetView.as_view(
template_name='registration/password_reset_form.html',
html_email_template_name='registration/html_password_reset_email.html',
email_template_name = 'registration/password_reset_email.html',
),
name='password_reset'
),
文件夹结构
...
templates
|-- registration
|-- html_password_reset_email.html
|-- password_reset_email.html
|-- ...
...
注:
我尝试删除 password_reset_email.html
模板,之后它会发送默认的 Django 电子邮件模板。
希望得到任何解决问题的指导,在此先感谢。
最后 (3) 天的调试我发现了我的愚蠢错误:(,
我在我的主 urls.py
文件中包括了所有授权 url path('', include('django.contrib.auth.urls'))
并在 store/urls.py
中再次重新定义了 auth.urls
不同所以覆盖不会正确发生.
所以,
path('password_reset', # <<< here
auth_views.PasswordResetView.as_view(
...
),
name='password_reset'
),
应该是,
path('password_reset/', # <<< here
auth_views.PasswordResetView.as_view(
),
name='password_reset'
),
不会删除问题(^.^') #for_sake_of_dumb_fellows_like_me
我正在尝试发送带有重置令牌的自定义电子邮件模板。但无论我做什么,它都会继续发送原始 HTML 。我以前有过使用 Django 和 Django rest 框架做完全相同的事情而没有任何问题的经验。 这是我的做法,
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('store.urls')),
path('', include('django.contrib.auth.urls')),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
store/urls.py
...
path('password_reset',
auth_views.PasswordResetView.as_view(
template_name='registration/password_reset_form.html',
html_email_template_name='registration/html_password_reset_email.html',
email_template_name = 'registration/password_reset_email.html',
),
name='password_reset'
),
文件夹结构
...
templates
|-- registration
|-- html_password_reset_email.html
|-- password_reset_email.html
|-- ...
...
注:
我尝试删除 password_reset_email.html
模板,之后它会发送默认的 Django 电子邮件模板。
希望得到任何解决问题的指导,在此先感谢。
最后 (3) 天的调试我发现了我的愚蠢错误:(,
我在我的主 urls.py
文件中包括了所有授权 url path('', include('django.contrib.auth.urls'))
并在 store/urls.py
中再次重新定义了 auth.urls
不同所以覆盖不会正确发生.
所以,
path('password_reset', # <<< here
auth_views.PasswordResetView.as_view(
...
),
name='password_reset'
),
应该是,
path('password_reset/', # <<< here
auth_views.PasswordResetView.as_view(
),
name='password_reset'
),
不会删除问题(^.^') #for_sake_of_dumb_fellows_like_me