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)

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

相关推荐
上进小菜猪20 小时前
【腾讯位置服务开发者征文大赛】AI厕急达:我用腾讯位置服务做了一个移动端找厕所AI助手
后端
tang7778920 小时前
爬虫爬公开数据被封?实测有效!从原因排查到落地解决全指南
大数据·爬虫·python·网络爬虫·ip
大萌神Nagato21 小时前
python 包管理器uv
开发语言·python·uv
_3762715321 小时前
JavaScript中闭包结合代理模式Proxy实现数据监听
jvm·数据库·python
@杰克成21 小时前
Java学习22
java·python·学习·idea
l1t21 小时前
在wsl中使用cython.txt
python
人道领域21 小时前
【黑马点评日记】社交平台用户关注功能全解析Feed流相关操作
java·开发语言·数据库·redis·python
Andy Dennis21 小时前
mcp python-sdk使用记录
python·agent·mcp
Mr数据杨21 小时前
【Codex】搭建Tauri工具数据工作台统一管理桌面端能力
django·codex·项目开发
欧雷殿21 小时前
适配一人公司!家庭局域网 AI 工作台来了
后端·agent·aiops