你好,厉害的人们!
在我的问题之前,我试过这些 Stack Overflow 的帖子:
但它们都不能正常工作!
我想让网站上的用户了解新课程并更新。使用 Courses
的查询集,我想通过电子邮件将它们发送出去。
send_daemon_email.delay(instance=instance,all_courses=Course.objects.all())
而我的函数看起来像:
@shared_task
def send_daemon_email(instance,all_courses):
ctx = {'instance':instance,'all_courses':all_courses}
message = get_template("emails/ads.html").render(ctx)
''' '''
当我尝试将电子邮件发送给特定用户时,出现了以下错误:
<User: 名字>
无法进行 JSON 序列化
这是因为 celery 的 delay()
收到了非序列化数据。
我该如何向 celery 任务发送 Django 对象,以便在模板中使用它呢? 我知道可以将所需信息作为 Python 对象发送。
send_daemon_email.delay(first_name='Name',
last_name='Lapr',all_courses = [{'title1':'title1',},{'title2':'title2',}])
但这会有太多的信息。
任何提示都将不胜感激。 谢谢!
pk
,我可以在函数中检索对象?这是一个很好的观点。 - user9865749