如何自定义Django的默认电子邮件模板? (smtpd)

时间:2019-05-27 11:48:37

标签: python django

如何自定义Django的默认电子邮件模板?

urls.py

path('change-password/', views.change_password, name='change-password'),
path('reset-password/', PasswordResetView.as_view(template_name='accounts/reset_password.html'),
     name='reset-password'),
path('reset-password/done/', PasswordResetDoneView.as_view(), name='password_reset_done'),
path('reset-password/confirm/<uidb64>/<token>/',
     PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
path('reset-password/complete/', PasswordResetCompleteView.as_view(), name='password_reset_complete'),

我希望自定义django电子邮件模板,并在上面的正确路径之一中将其作为template_name或类似名称?任何帮助,将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

要更改电子邮件默认模板,您需要:

  • 先将模板dirs的搜索指令指向您的应用程序,然后将Django的默认模板指向您,如果您尚未这样做:

   TEMPLATES = [
       {
           'BACKEND': 'django.template.backends.django.DjangoTemplates',
           'DIRS': [os.path.join(BASE_DIR, 'templates')],
           'APP_DIRS': True,
           ...
       },
   ]

  • 确保您正在编辑正确的模板。这是password_reset_email.html,您应该在应用程序中创建一个名为“注册”的模板目录,然后根据自己的喜好自定义它。但是请不要忘记使用URL令牌等必填字段来进行密码重置验证。

因此目录和结构应为 app_dir / templates / registration / password_reset_email.html