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