似乎从django-allauth应用程序异步发送电子邮件的最佳方法是简单地安装django-celery-email。但 Package 上警告说
此版本需要以下版本:Python 2.7和Python 3.5,Django 1.11,2.1和2.2 Celery 4.0
我只使用了几个月的python,从来没有遇到过一个项目需要两个python版本的情况。我正在使用pipenv的官方推荐用于当地发展。快速google显示,在虚拟环境中不可能安装两个python解释器。由于插件似乎如此受欢迎,我想知道其他人是如何设置它的?如果我错过了一些重要的东西来解释这一点,我道歉。
一个额外的答案还将考虑到我正在使用docker,docker镜像将安装像这样的python包。
第一个月
提前感谢。
3条答案
按热度按时间92dk7w1h1#
我很确定这只是project docs中的不准确描述,所以您需要安装python 2.7或python >=3.5。
a5g8bdjr2#
最后我没有使用django-celery-email。不用这个软件包,发送django-allauth应用程序生成的电子邮件很容易。
我利用这些资源-
https://github.com/anymail/django-anymail/issues/79
https://docs.djangoproject.com/en/2.2/topics/email/#defining-a-custom-email-backend
基本上你这样做是为了让它工作。
在settings.py中定义CustomEmailBackend -
第一个月
在backend.py文件中定义后端-
字符串
任务是-
型
celery django应用程序应该按照https://docs.celeryproject.org/en/latest/django/first-steps-with-django.html中定义的标准方式进行设置。
并且settings.py中的celery设置需要包括pickle内容类型-
CELERY_ACCEPT_CONTENT = ['json', 'pickle']
个显然,您需要包括您的随时设置和经纪人设置太多。但这足以让任何人开始。
whitzsjs3#
我决定让这一切变得更好。用pickle进行序列化在imo上是不可接受的。
字符串
在
tasks.py
型