Отправка зависящих от пользователя электронных писем с сельдереем и django? - PullRequest
0 голосов
/ 14 апреля 2020

Я бы хотел, чтобы мое веб-приложение отправляло пользователям еженедельные / ежемесячные электронные письма - как я могу ограничить использование сельдереем только запланированных электронных писем для пользователей, которые "подписались"?

Я установил django -celery-beat и могу настроить задание cron в интерфейсе администратора, но не только для указания c пользователей

1 Ответ

0 голосов
/ 22 апреля 2020

Вам необходимо добавить поле для вашей модели User для хранения, если пользователь включил или отключил рассылку электронных писем. Ниже приведен псевдокод и предполагается, что вы расширили Django с помощью собственной пользовательской модели User.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...