【问题标题】:Sending user-dependent scheduled emails with celery and django?使用 celery 和 django 发送与用户相关的预定电子邮件?
【发布时间】:2020-07-27 14:01:10
【问题描述】:

我希望我的网络应用程序每周/每月向用户发送电子邮件 - 我将如何限制 celery 仅向“选择加入”的用户发送预定的电子邮件?

我安装了 django-celery-beat,我可以在管理界面中配置一个 cron 作业,但不仅限于特定用户

【问题讨论】:

    标签: django django-celery django-celery-beat


    【解决方案1】:

    如果用户选择加入或退出电子邮件,您需要在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-04
      • 2018-10-19
      • 2021-09-15
      • 2018-04-21
      • 2021-05-24
      • 2017-09-29
      • 1970-01-01
      • 2015-11-05
      相关资源
      最近更新 更多