广告区

广告区


本站消息

站长简介/公众号

关注本站官方公众号:程序员总部,领取三大福利!
福利一:python和前端辅导
福利二:进程序员交流微信群,专属于程序员的圈子
福利三:领取全套零基础视频教程(python,java,前端,php)

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

将表单数据传递给 celery 任务

发布于2022-05-18 15:01     阅读(1066)     评论(0)     点赞(5)     收藏(5)



我的视图中有一个简单的表单(没有模型),我在其中捕获用户输入的输入以发送电子邮件。我通过以下方式捕获这些输入:

if result['success']:
   name = form.cleaned_data['name']
   email = form.cleaned_data['email']
   ...
   send_email_task()

问题是,我如何将这些数据传递给 Celery send_email_task 以便发送。就像是:

@shared_task
def send_email_task():
   send_mail(name + ': ' + subject,
   'From: ' + email
   ...

解决方案


根据文档,有两种方法可以异步调用 celery 任务,.delay()以及.apply_async(). 由于您不需要传递任何特殊配置,因此我会使用.delay.

if result['success']:
   name = form.cleaned_data['name']
   email = form.cleaned_data['email']
   ...
   send_email_task.delay(name, email)

@shared_task
def send_email_task(name, email):
   send_mail(name + ': ' + subject,
   'From: ' + email
   ...






所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1526336/3b220e3ed4c22251b0c0/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)