django 当一个页面被提交审核时,我如何编辑Wagtail发送的电子邮件的消息?

bsxbgnwa  于 2023-03-31  发布在  Go
关注(0)|答案(1)|浏览(103)

我试图编辑Wagtail发送的电子邮件的内容,当一个页面被提交进行审核时,我已经深入研究了Wagtail的源代码,结果发现有一个名为send_mail的函数,当一个页面被发送进行审核时,它实际上会将电子邮件发送给所有订阅者,此函数由另一个名为send_notification的函数调用,该函数接受一些通知模板(HTML和txt文件)取决于页面的操作类型(提交,批准,拒绝),这些模板包含电子邮件内容,我还没有找到从我的Wagtail项目覆盖这些模板内容的方法。
如果以前有人这样做过,我真的很感激你的帮助。
谢谢大家!
我期待能够编辑电子邮件的内容,因为我想添加一些自定义字段,如评论。

6bc51xsx

6bc51xsx1#

任何时候Django被要求呈现一个模板-包括在Wagtail的通知邮件模块中-它会依次在INSTALLED_APPS中列出的每个应用程序中寻找一个文件名匹配的模板,并使用它找到的第一个模板。因此,要覆盖wagtail/admin/templates/wagtailadmin/notifications/中的一个电子邮件模板,你需要:

  • 在您的项目中有一个应用程序,该应用程序在项目设置文件中的INSTALLED_APPS中列出 above"wagtail.admin"
  • 在该应用程序的文件夹templates/wagtailadmin/notifications/中创建一个文件,以便它优先于Wagtail提供的模板。

Django文档有更多关于模板如何定位和how to override them的细节。
例如,如果您要覆盖模板/wagtail/admin/templates/wagtailadmin/notifications/approved.html(页面获得批准时发送的电子邮件),并且您的项目中有一个名为myapp的应用,该应用在INSTALLED_APPS中的"wagtail.admin"上方列出,则应在路径myapp/templates/wagtailadmin/notifications/approved.html处创建一个模板。

相关问题