Задать вопрос

Django — Отправка email на определенную дату (событие)?

Добрый день!

Использую django_bootstrap_calendar

models.py
class CalendarEvent(models.Model):
    title = models.CharField(max_length=255, verbose_name=_('Title'))
    url = models.URLField(verbose_name=_('URL'))
    start = models.DateTimeField(verbose_name=_('Start Date'))
    end = models.DateTimeField(verbose_name=_('End Date'), blank=True)


Создается событие с датой начала и окончания события. Если событие произдет позже, то как сделать оповещение по email о наступлении события, тоесть текущая дата совпадает с датой начала события. Получается что-то должно сделать и сравнивать текущую дату и дату события, в случае совпадения, отправить email.

Есть решения?
Спасибо
  • Вопрос задан
  • 3212 просмотров
Подписаться 5 Оценить 1 комментарий
Решения вопроса 1
@paevlk2007 Автор вопроса
Сделал так:
- подключил 'smsaero',
- в форме добавления нового события, добавил send_sms, в моем случает:

title = title.encode('utf-8')
 start = int(mktime(start.timetuple()))
 send_sms((resp.profile.phone), (title), '2', (start))


Когда пользователь вводит новое событие в календарь, одновременно создается sms уведомление:
с телефоном пользователя;
заголовком сообщения;
"2" - Подпись отправителя;
датой (время) начала события.

После этого готовая SMS ждем своего исполнения!

Минус: если пользователь ошибся в датой, то SMS не удалить, либо необходимо заходить в личный кабинет SMSAero и удалять!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
soshnikov
@soshnikov
django.core.management.base.BaseCommand + crontab
как-то так
Ответ написан
как вариант монстр celery который умеет запускать задачи по расписанию или можно использовать uwsgi он тоже это умеет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы