Django 实现连续请求

创作灵感:工作中,前端因为某些原因(极其特殊)无法发送两个请求,需要后端实现

言归正传:

背景:使用django+apscheduler实现定时任务,现在创建任务以及启动任务为两个接口,基于类

python 复制代码
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):
       。。。

现在由于前端无法发送两个请求,只能后端来操作;

如上所示:

python 复制代码
return PlanJobView.start_job(self, planid=plan.id)

调用了启动方法,将所需参数传输过来即可

如果是视图函数,可以直接:

python 复制代码
return start_job(request)

第一次见到这种需求,全都仰仗我们前端。

相关推荐
秋意钟5 分钟前
Spring新版本
java·后端·spring
小蜗牛慢慢爬行25 分钟前
有关异步场景的 10 大 Spring Boot 面试问题
java·开发语言·网络·spring boot·后端·spring·面试
岑梓铭35 分钟前
(CentOs系统虚拟机)Standalone模式下安装部署“基于Python编写”的Spark框架
linux·python·spark·centos
A小白59081 小时前
Docker部署实践:构建可扩展的AI图像/视频分析平台 (脱敏版)
后端
游客5201 小时前
opencv中的各种滤波器简介
图像处理·人工智能·python·opencv·计算机视觉
Eric.Lee20211 小时前
moviepy将图片序列制作成视频并加载字幕 - python 实现
开发语言·python·音视频·moviepy·字幕视频合成·图像制作为视频
goTsHgo1 小时前
在 Spring Boot 的 MVC 框架中 路径匹配的实现 详解
spring boot·后端·mvc
Dontla1 小时前
vscode怎么设置anaconda python解释器(anaconda解释器、vscode解释器)
ide·vscode·python
waicsdn_haha1 小时前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
Q_19284999061 小时前
基于Spring Boot的摄影器材租赁回收系统
java·spring boot·后端