【问题标题】:Django auth_views.PasswordResetView not sending custom email templateDjango auth_views.PasswordResetView 不发送自定义电子邮件模板
【发布时间】:2021-06-29 08:00:59
【问题描述】:

我正在尝试使用重置令牌发送自定义电子邮件模板。但无论我做什么,它都会不断发送原始 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)

存储/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 电子邮件模板。

希望任何指导解决问题提前谢谢。

【问题讨论】:

    标签: django django-views django-templates django-email


    【解决方案1】:

    最后几天 (3) 的调试我发现了我的愚蠢错误 :(,

    我将所有身份验证网址 path('', include('django.contrib.auth.urls')) 包含在我的主要 urls.py 文件中,并在 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

    【讨论】:

      猜你喜欢
      • 2013-12-02
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-05
      • 2020-02-09
      • 2020-08-31
      相关资源
      最近更新 更多