问题描述
我正在尝试使用重置令牌发送自定义电子邮件模板。但无论我做什么,它都会不断发送原始 HTML。我以前有过使用 Django 和 Django rest 框架做完全相同的事情而没有任何问题的经验。 我是这样做的,
urls.py
urlpatterns = [
path('admin/',admin.site.urls),path('',include('store.urls')),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
|-- ...
...
注意:
在它发送默认的 Django 电子邮件模板之后,我尝试删除 password_reset_email.html
模板。
希望得到任何指导以解决问题,提前致谢。
解决方法
调试的最后几天(3)我发现了我的愚蠢错误:(,
我在我的主 path('',include('django.contrib.auth.urls'))
文件中包含了所有身份验证网址 urls.py
,并在 auth.urls
中重新定义了 store/urls.py
,因此覆盖不会正确发生。
所以,而不是,
path('password_reset',# <<< here
auth_views.PasswordResetView.as_view(
...
),name='password_reset'
),
应该是,
path('password_reset/',# <<< here
auth_views.PasswordResetView.as_view(
),
不会删除问题 (^.^') #for_sake_of_dumb_fellows_like_me