我想在视图中发送多封电子邮件。 我需要的是,该视图发回响应并在后台发送电子邮件。
我跑的时候
return EmailMultiAlternatives(subject,
t,
sender,
recipients,
bcc=bcc).send()
视图在发送一两封电子邮件之前不会发送响应。
我想问为什么
yield EmailMultiAlternatives(subject,
t,
sender,
recipients,
bcc=bcc).send()
说明不发送我的电子邮件? 为什么收益率不像我想要的那样?
答案 0 :(得分:1)
Django框架(与Tornado不同,或Twisted)在同步/阻塞模式下工作,在完成所有操作之前,视图不会返回响应。
如果您不想等待发送电子邮件,则应该查看celery和django-celery个软件包。定义一个任务,将其放在视图中的队列中,返回响应并让工作人员“在后台”完成工作。
另见,见:
希望有所帮助。