django - 如何在 Django 活动的 1 天前发送电子邮件提醒?
问题描述
我有三个模型。
- 自定义用户
- 网上注册
- 智联
以下是models.py中Zlink的代码,
class Zlink(models.Model):
customUser = models.ForeignKey(CustomUser, on_delete=models.CASCADE) #foreignkey 1
webregister = models.ForeignKey(Webregister, on_delete=models.CASCADE) #foreignkey 2
reg_link = models.CharField(max_length=255,null=True, blank=True)
def __str__(self):
return str(self.pk)
“foreignkey 2”给了我事件ID,“foreignkey 1”给了我用户的电子邮件地址。
在众多字段中,其中一个字段Webregister
是event_starts
包含事件开始的日期和时间。
在使用触发查询的事件中,我可以获取用户的电子邮件地址,
x = Zlink.objects.get(id=1)
x.customUser
现在如果用户有多个用户,那么这些电子邮件地址如何在一天的事件之前发送提醒电子邮件?
任何线索?我是 django 的新手。
解决方案
场景 1(如果自定义用户模型只有一个电子邮件字段):
x = Zlink.objects.get(id=1)
email_to_list = [x.customUser.email,]
场景 2(如果自定义用户模型有两个电子邮件字段):
x = Zlink.objects.get(id=1)
email_to_list = [x.customUser.primary_email, x.customUser.secondary_email]
最后使用以下代码发送邮件(假设您在 settings.py 中定义了有效的 smtp 设置)
from django.core.mail import send_mail
send_mail(
'Subject here',
'Here is the message.',
'from@example.com',
email_to_list,
fail_silently=False,
)
推荐阅读
- multithreading - 如何正确演示 Go/Golang 中的并发性和并行性?
- python - 将数组与python的所有可能组合相加
- c++ - 将 2d 曲线(带参数法线)挤压成 3d 时如何获得平滑法线?
- javascript - 如何让我的表单使用easybase在reactjs中插入数据?
- django - has_object_permission 不适用于细节动作装饰器?
- python - 如何在 python 文件中创建按钮并根据 kv 文件组织它们?
- javascript - Default tab for bootstrap + knockout js code
- javascript - 如何通过TextInput在React Native中访问对象数组中的数据
- visual-studio-code - 'my_user/desktop' 的 git 存储库有太多活动更改,只会启用部分 Git 功能
- javascript - 将文本转换为位图图像