Django调试工具栏的面板,允许查看最近发送的电子邮件。

django-mail-panel的Python项目详细描述


django调试工具栏-邮件面板

Build Status

在开发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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件