Django Anymail的电子邮件历史记录
项目描述
anymail-history - Django Anymail的电子邮件历史记录(数据库存储)
保存由Django Anymail发送的所有电子邮件的历史记录
简介
anymail-history实现了Django Anymail的数据库存储。
资源
- PyPI上的包: https://pypi.ac.cn/project/anymail-history/
- GitHub上的项目: https://github.com/pfouque/django-anymail-history
特性
- 存储已发送的电子邮件
- 存储跟踪事件
- 显示管理员
- html模板?
要求
- Django >=3.2
- Python >=3.8
如何使用
-
安装
$ pip install "django-anymail-history"
-
将anmail_history注册到您的Django应用列表中
INSTALLED_APPS = [ # ... "anymail", "anymail_history", # ... ]
-
然后迁移应用以创建数据库表
manage.py migrate
-
🎉 好了!
设置
您可以在项目settings.py中添加设置,作为一个单独的ANYMAIL
字典,或者通过使用前缀ANYMAIL_将单个设置分开。因此这个设置字典
ANYMAIL = {
"STORE_HTML": True,
}
…等同于以下单独设置
ANYMAIL_STORE_HTML = True
可用的设置
ANYMAIL_STORE_FAILED_SEND
: (默认:False) 即使ESP没有返回message-id,也存储消息。ANYMAIL_STORE_HTML
: (默认:False) 存储HTML替代内容。
贡献
原则
- 对开发者来说简单易用
- 一致的样式(
黑色
,ruff
) - 面向未来(
pyupgrade
) - 完整的类型提示(
mypy
)
编码风格
我们使用 pre-commit 来运行代码质量工具。您可以根据喜好安装 pre-commit(例如使用系统 Python 的 pip install pre-commit
),然后设置 pre-commit 以便在每次提交时运行:
> pre-commit install
然后您可以运行所有工具
> pre-commit run --all-files
包括以下内容
poetry
用于依赖管理Ruff
、black
和pyupgrade
编码规范mypy
用于类型检查Github Actions
用于构建和 CI
为编码规范和 mypy 提供默认配置文件。
测试
测试包
该包测试本身位于主库代码之外,在一个自身也是 Django 应用的包中(它包含 models
、settings
以及运行测试所需的任何其他工件(例如 urls
)。)在适当的情况下,此测试应用可以作为一个 Django 项目运行 - 这样开发人员就可以启动测试应用,查看管理员界面是什么样的,测试迁移等。
运行测试
测试本身使用 pytest
作为测试运行器。如果您已经安装了 poetry
环境,您可以这样运行它们:
$ poetry run pytest
或者
$ poetry shell
(anymail-history-py3.10) $ pytest
CI
-
.github/workflows/lint.yml
:定义并确保在 Github 上的编码规则。 -
.github/workflows/test.yml
:在 Github 矩阵中运行所有兼容的 Django(3.2+)& Anymail(8.4+)、Python(3.8+)组合的测试。 -
.github/workflows/coverage.yml
:计算最新版本的覆盖率。