使用 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 分钟,并将其保存在数据库中会议创建时间...然后我使用这些值来安排我的任务。
目前正在尝试在会议 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 分钟,并将其保存在数据库中会议创建时间...然后我使用这些值来安排我的任务。