【发布时间】:2020-07-27 14:01:10
【问题描述】:
我希望我的网络应用程序每周/每月向用户发送电子邮件 - 我将如何限制 celery 仅向“选择加入”的用户发送预定的电子邮件?
我安装了 django-celery-beat,我可以在管理界面中配置一个 cron 作业,但不仅限于特定用户
【问题讨论】:
标签: django django-celery django-celery-beat
我希望我的网络应用程序每周/每月向用户发送电子邮件 - 我将如何限制 celery 仅向“选择加入”的用户发送预定的电子邮件?
我安装了 django-celery-beat,我可以在管理界面中配置一个 cron 作业,但不仅限于特定用户
【问题讨论】:
标签: django django-celery django-celery-beat
如果用户选择加入或退出电子邮件,您需要在 User 模型中添加一个字段来存储。下面是伪代码,假设您使用自己的自定义 User 模型扩展了 Django。
models.py:
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
email_opt_in = models.BooleanField(default=False)
# Other code ...
tasks.py:
from .models import User
@app.task
def send_daily_email():
# Get all users that are active and opted-in for emails
users = User.objects.filter(is_active=True, email_opt_in=True)
for user in users:
# Code to generate and send email
【讨论】: