Django调试工具栏的面板,允许查看最近发送的电子邮件。
django-mail-panel的Python项目详细描述
django调试工具栏-邮件面板
在开发Django应用程序时测试和调试电子邮件从来都不是一件令人愉快的事情将电子邮件发送到基于文件的后端需要用户单击名称不正确的文件,并且不提供预览呈现的HTML的方法。通过邮件服务器处理邮件时,将电子邮件发送到有效邮箱会导致延迟,并使开发人员的收件箱变得凌乱
邮件面板试图通过提供一种在浏览器中使用django-debug-toolbar预览电子邮件的方法来解决这些问题
此邮件面板是在apache许可下发布的。如果你喜欢,请考虑贡献
特别感谢@ShawnMilo的代码审查
安装
要安装邮件面板,请首先使用pip install django-mail-panel
安装此包然后在debug_toolbar
之后添加mail_panel
应用程序到INSTALLED_APPS
设置:
INSTALLED_APPS=(...'debug_toolbar','mail_panel',)
并添加面板DEBUG_TOOLBAR_PANELS
:
DEBUG_TOOLBAR_PANELS=(...'mail_panel.panels.MailToolbarPanel',)
如果使用DEBUG_TOOLBAR_PANELS
自定义面板顺序:
DEBUG_TOOLBAR_PANELS=['debug_toolbar.panels.versions.VersionsPanel','debug_toolbar.panels.timer.TimerPanel','debug_toolbar.panels.settings.SettingsPanel','debug_toolbar.panels.headers.HeadersPanel','debug_toolbar.panels.request.RequestPanel','debug_toolbar.panels.sql.SQLPanel','debug_toolbar.panels.staticfiles.StaticFilesPanel','debug_toolbar.panels.templates.TemplatesPanel','debug_toolbar.panels.cache.CachePanel','debug_toolbar.panels.signals.SignalsPanel','debug_toolbar.panels.logging.LoggingPanel','debug_toolbar.panels.redirects.RedirectsPanel','mail_panel.panels.MailToolbarPanel',]
收集静电,你就可以走了
./manage.py collectstatic
配置
安装后,现在需要将邮件重定向到邮件工具栏。将电子邮件后端更改为以下内容:
EMAIL_BACKEND='mail_panel.backend.MailToolbarBackend'
默认情况下,邮件工具栏在将邮件从缓存中删除之前存储一天的邮件。可以使用以下设置更改此设置:
MAIL_TOOLBAR_TTL=86400# 1 Day
测试
要预览从测试套件发送的电子邮件,请使用以下命令将电子邮件后端覆盖添加到测试中:
fromdjango.test.utilsimportoverride_settings@override_settings(EMAIL_BACKEND='mail_panel.backend.MailToolbarBackend')deftest_send_email(self):# your code here
后端的工作方式与标准电子邮件后端类似,在使用mailtorbarbackend时不需要重新编写代码。
fromdjango.coreimportmailoriginal_outbox=len(mail.outbox)# Send mail ...assert(len(mail.outbox)==original_outbox+1)