赞
踩
创作灵感:工作中,前端因为某些原因(极其特殊)无法发送两个请求,需要后端实现
言归正传:
背景:使用django+apscheduler实现定时任务,现在创建任务以及启动任务为两个接口,基于类
-
- now_time = timezone.now().strftime('%Y-%m-%d %H:%M:%S')
-
- @method_decorator(csrf_exempt, name='dispatch')
- class TestPlanView(View):
-
- def post(self, request, *args, **kwargs):
- argsinfo = loads(request.body)
- action = argsinfo.pop("action")
- if action == 'create':
- return self.create_testplan(argsinfo)
-
- def create_testplan(self, argsinfo):
- # 创建testplan,同时需要创建report、testcasetask
- try:
- 。。。
- except Exception as e:
- return ResponseResult.error(e)
- else:
- return PlanJobView.start_job(self, planid=plan.id)
-
-
-
-
- @method_decorator(csrf_exempt, name='dispatch')
- class PlanJobView(View):
- def post(self, request, *args, **kwargs):
- argsinfo = loads(request.body)
- action = argsinfo.pop("action")
- planid = argsinfo.get("id")
- if action == 'start':
- return self.start_job(planid)
-
-
-
- def start_job(self, planid):
- 。。。

现在由于前端无法发送两个请求,只能后端来操作;
如上所示:
return PlanJobView.start_job(self, planid=plan.id)
调用了启动方法,将所需参数传输过来即可
如果是视图函数,可以直接:
return start_job(request)
第一次见到这种需求,全都仰仗我们前端。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。