Django应用,用于通过管理界面管理多个群发邮件列表,包括纯文本和HTML模板(以及可插拔的WYSIWYG编辑器)、图片和智能排队系统。
项目描述
Django网络框架的新闻通讯应用。
这是什么?
Django应用,用于管理多个群发邮件列表,包括纯文本和HTML模板(以及富文本小部件集成)、图片和智能排队系统,所有这些都可以通过管理界面直接进行。
状态
我们目前正在几个大型到中型规模的生产环境中使用此包,但它应被视为一个永久的工作进程。
文档
扩展文档可在 Read the Docs 上找到。
翻译
字符串已完全翻译成多种语言,还有更多语言在路上。
欢迎通过 Transifex 对翻译做出贡献。字符串将在达到近全覆盖时被包括。
兼容性
目前,django-newsletter官方支持Django 1.11.x、2.2.x,3.0.x支持待定。我们支持Python 3.4到3.8。
需求
请参阅 requirements.txt 以获取所需软件包的更新列表。
测试
内部框架、网络(取消)订阅和邮件发送功能都经过了广泛的测试。向大量收件人(+15k)发送新闻简报已在多个生产环境中得到验证。拉取请求和主分支的测试通过Travis CI自动运行。
贡献
想贡献,太好了!
请参考GitHub上的问题,并阅读CONTRIBUTING.rst。
反馈
如果您发现任何错误或有关于django-newsletter的功能请求,请勿犹豫,在GitHub上打开一个问题(但请确保您的错误之前没有被注意到,找到重复的错误是浪费时间)。当在分支中修改或添加功能到django-newsletter时,请确保让我知道您正在构建什么以及如何构建。这样我们可以协调何时以及如何将其合并到主分支以及(最终)官方版本。
总的来说:感谢多年来不断涌来的支持、反馈、补丁和代码!Django有一个真正伟大的社区。<3
许可
本应用程序在GNU Affero通用公共许可证版本3下发布。
变更
0.9 (19-02-2019)
升级到sorl-thumbnail 12.6.2,移除安装 workaround。
由于安全问题,更新了多个依赖项(waitress,Django)。
0.9b1(2019-11-01)
支持Django Django 1.11.x (#294),2.2.x (#295) 和 3.0.x (#296)。
添加缺失的迁移 (#282)。
由于安全问题,更新了多个依赖项。
支持Python 3.8。
0.8b1(2018-11-17)
支持Django 2.1 (#257)。
支持Python 3.7 (#256)。
0.7 (13-07-2018)
修复了允许未确认订阅的安全问题 (#108)。
更新了语言环境(ar,de)。
为Message设置了默认Newsletter,修复了#224。
嵌入注册表单的说明 (#250)。
Django 2.0的迁移问题 (#254)。
其他文档改进。
0.7b2(2018-03-25)
停止支持过时的Django 1.10。
引入了submit_newsletter管理命令,弃用了cron作业并删除了django-extensions依赖。
修复了Django < 1.9中非ASCII收件人名称的编码问题 (#244)。
允许以编程方式访问Article和Submission save()方法 (#246)。
0.7b1(2017-11-16)
支持Django 1.10,1.11和试验性支持2.0。
停止支持Django 1.9。
添加了对Python 3.6的支持。
为了取消django-extensions依赖的弃用,将发送消息的过程隔离开来 (#39)。
引入了自定义ArticleFormSet以改善Article排序顺序,默认隐藏 (#194)。
将测试移动到单独的目录,排除在二进制文件之外并使用Django的本地测试运行器 (#206)。
清理了表单验证 (#209)。
为电子邮件、批次和批次大小之间的延迟设置了参数 (#223)。
在模板中添加缺失的可翻译字符串 (#220)。
添加了es,el_GR的翻译。
更新了fa,fr,nl的翻译。
安全修复
在取消订阅表单中不要泄露用户名。
使用Django的加密代码生成随机代码。
小修复
将MySQL contrib添加到订阅者导出列表中。
在安装文档中添加关于EMAIL_*设置的说明。
添加了对Message.__str__的测试。
在setup.py中无法读取文件时发出警告。
将测试要求移动到适当的位置。关闭 (#190)。
关于从<0.5升级的说明。
添加了关于premailers的文档。关闭 (#178)。
在导入确认页面上显示电子邮件。
修复了要求中的损坏链接 (#205)。
将Pillow添加到要求中,修复了 (#202)。
为邮件测试添加第二个订阅。
要求Django 1.8.18(最新点发布版)。
默认模板的HTML5 doctype。
0.6 (2-2-2016)
添加了对Django 1.8和1.9的支持,并停止了对旧版本的支持。
添加了对原生Django迁移的支持,取代了South迁移。
添加了对Python 3.4/3.5的支持,并放弃了Python 2.6的支持。
用GenericIPAddressField替换了IPAddressField (#131)。
修复了基于JSON的会话中的地址序列化 (#104)。
在发送的消息中添加List-Unsubscribe头 (#169)。
添加了波兰语和巴西葡萄牙语翻译。
显著提高了测试覆盖率。
小修复
提交管理总是取最后一条消息 (#170)。
在导入订阅时检查用户是否有“add_subscription”权限 (#128)。
修复了Submission.publish_date的默认值 (#125)。
将管理中的订阅状态更改为单选字段 (#122)。
使Submissions列表根据服务器的时区显示发布日期和时间 (#112)。
一些较小的问题:#107, #121, #123
0.5.2 (1-5-2014)
添加了额外的语言支持:阿拉伯语、捷克语、法语和冰岛语
在Django 1.7 beta和Python 3.3上运行测试(但允许失败)
0.5.1 (21-11-2013)
添加了意大利语翻译,感谢azanibellato。
支持可插拔/自定义用户模型 (#101)。
在Read the Docs上提供带有autodoc的正确Sphinx文档 (#90)。
由于@jnss,与Django 1.6兼容 (#97)。
将默认消息模板包含在包中 (#95)。
修复了数据库到模板文件迁移的非ASCII字符 (#94)。
修复了vCard导入的小问题(主要是mimetype相关的)。
0.5 (03-10-2013)
添加了针对应用程序特定设置的代理。
在视图中可选地跳过电子邮件确认 (CONFIRM_EMAIL_<ACTION>)。
俄语翻译(由ak3n贡献)。
添加了Newsletter模型中的显式HTML切换。
修复了“添加提交”中的JavaScript提交链接,移植到使用jQuery。
用基于类的等效项替换了剩余的基于函数的视图。
将消息模板从数据库移动到文件。
0.4.1 (15-04-2013)
开始保留一个不错的日志文件。(终于…)
支持Django 1.5;使用基于类的通用视图
放弃对Django 1.3和Python 2.5的支持。
视图的100%测试覆盖率
波斯语翻译(由rohamn贡献)
法语翻译(由smalter贡献)
为订阅/取消订阅提供管理操作(由jnns贡献)
引入django-webtest进行一些测试
免于XFrame保护的前瞻(修复了#54)
0.4 (20-11-2012)
主要代码清理;PEP8、导入、重构、移除旧代码
通过Travis改进测试并通过更好的测试覆盖率提高测试
South迁移
添加了德语翻译(由jnns贡献)
WYSIWYG编辑器现在是可选的并且可插拔的,支持Imperavi和TinyMCE
当使用Django 1.4时,使用时区感知的日期和时间
使用Django 1.3的消息框架
许多小错误修复(见GitHub问题)
放弃对Django 1.2的支持
自动检测CSV导入的字符集、编码和方言
带有适当的消息替换的更干净的日志消息
在管理界面中使用Django的staticfiles contrib进行静态资源
使用surlex进行更可读的URL模板
使用sorl-thumbnail为文章图片和默认模板
项目详情
哈希值 for django-newsletter-gardentronic-0.9.0.post5.tar.gz
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 529cd6a50ea8b2cfc10f3f347088a9fe405219f8adc300f4ccb3ca8097b92788 |
|
MD5 | 1dfd048453847887cf0ab47a83a8d2f3 |
|
BLAKE2b-256 | 55f8e56bb968827ac3ee673891ee22d142d9f5e458c50792bd3433f1e57990e6 |