使用 Django 在预定时间向用户发送电子邮件

Using Django to send Email to a User at a scheduled time

目前正在尝试在会议 start_time 前 15 分钟在 django 中安排邮件,应该向访问者发送电子邮件通知,我真的不知道该怎么做。

是否有我可以使用的调度程序以及我如何指定时间前 15 分钟。

请参阅下面我的模型结构:

#Model for Visitor Table
class Visitor(models.Model):
    visitor_id = models.AutoField(primary_key=True)
    first_name = models.CharField(max_length=50 , blank=False, null=True)
    last_name = models.CharField(max_length=50 , blank=False, null=True)
    email = models.EmailField(max_length=50, blank=False)
    company = models.CharField(max_length=50, blank=False)
    phone_number = models.CharField(max_length=100, blank=False)
    picture_url = models.ImageField(upload_to='pictures/%Y/%m/%d/', max_length=254, blank=True, default='none', null=True)
    blacklist = models.BooleanField(default=False)

    def __str__(self):
        return '{} {}'.format(self.first_name, self.last_name)

#Model for VisitorMeeting table... This holds referencial key to both visitor table and meeting table
#Transactional table for Visitor and Meeting Table
class VisitorMeeting(models.Model):
    visitor_id = models.ForeignKey(Visitor, on_delete=models.CASCADE)
    meeting_id = models.ForeignKey(Meeting, on_delete=models.CASCADE, related_name='visitors')
    arrival = models.DateTimeField(blank=True, null=True)
    departure = models.DateTimeField(blank=True, null=True)
    checkin_status = models.BooleanField(default=False, null=True)

    objects = VisitorQuerySet.as_manager()

我能够使用 Django_celery 和 celery-beat 解决这个问题...我计算并保存了会议开始前 15 分钟和会议结束前 15 分钟,并将其保存在数据库中会议创建时间...然后我使用这些值来安排我的任务。