当前位置: 首页 > news >正文

Django 接收并解析POST请求参数

使用Django框架搭建一个简单的web服务,java程序去调用Django提供的接口:

1. Django接收GET请求并解析参数

# 直接使用request.GET.get就可以获取参数
request.GET.get('id','0')

2. Django接收POST请求并解析参数

使用postman模拟POST请求,需要关闭csrftoken的验证:将settings.py中的csrf规则注释

(1)使用表单传递参数
设置Header中的Content-Type为application/x-www-form-urlencoded;charset=utf-8

在body中传入参数:

后台解析参数:

from django.shortcuts import render
from django.http import HttpResponse
import json
def execSimilar(request):
    if request.method == 'POST':
        print(request.POST.getlist('a'))
        dict={}
        if request.POST:
            a = request.POST.get('a',0);
            b = request.POST.get('b',0);
            if a and b :
                res = a+b
                dict['number'] = res
                dict = json.dumps(dict)
                return HttpResponse(dict)
            else:
                return HttpResponse('param error!')
        else:
            return HttpResponse('no params')
    else:
        return HttpResponse('method error!')

(2)使用json传递参数

def getPostJson(request):
    if request.method == 'POST':
        postbody = request.body
        json_param = json.loads(postbody.decode())
        dict={}
        if json_param:
            a = json_param.get('a',0);
            b = json_param.get('b',0);
            if a and b :
                res = a+b
                dict['number'] = res
                dict = json.dumps(dict)
                return HttpResponse(dict)
            else:
                return HttpResponse('param error!')
        else:
            return HttpResponse('no params')
    else:
        return HttpResponse('method error!')

相关文章:

  • 肖飒:NFT与版权保护的N个问题
  • 使用MetaMask连接到币安智能链(BSC)
  • NFT在收藏价值之外的价值
  • GLUE部分基准数据集介绍:RTE、MRPC、SST-2、QNLI、MNLI、QQP
  • 财务投资者和战略投资者有什么分别
  • 金沙江创投采访
  • 金沙江创投 张予彤:互联网下半场—从连接到数据
  • ofo之死:一场商业“宫斗剧”下的祭品
  • 币安智能链NFT音乐系列之Rocki
  • 全球NFT市场分析以及消费者行为浅析
  • 种子轮和天使轮
  • 一文搞懂什么是:种子轮、天使轮、ABC轮投资、IPO
  • 微信的撤回功能为什么要做成留痕的?
  • 吃苦
  • 海南自由贸易港高层次人才分类标准 (2020):互联网领域标准
  • 自己简单写的 事件订阅机制
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【EOS】Cleos基础
  • Java|序列化异常StreamCorruptedException的解决方法
  • Kibana配置logstash,报表一体化
  • LeetCode18.四数之和 JavaScript
  • MySQL用户中的%到底包不包括localhost?
  • PermissionScope Swift4 兼容问题
  • WebSocket使用
  • 服务器从安装到部署全过程(二)
  • 前端临床手札——文件上传
  • 前端之Sass/Scss实战笔记
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #pragma multi_compile #pragma shader_feature
  • #QT(智能家居界面-界面切换)
  • (06)金属布线——为半导体注入生命的连接
  • (1)STL算法之遍历容器
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (WSI分类)WSI分类文献小综述 2024
  • (多级缓存)多级缓存
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (附源码)计算机毕业设计大学生兼职系统
  • (论文阅读30/100)Convolutional Pose Machines
  • (四)linux文件内容查看
  • (算法)Game
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转载)(官方)UE4--图像编程----着色器开发
  • .bat批处理出现中文乱码的情况
  • .gitignore文件_Git:.gitignore
  • .NET Project Open Day(2011.11.13)
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args
  • .net分布式压力测试工具(Beetle.DT)
  • .net连接oracle数据库
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件
  • .Net中的集合
  • .net中应用SQL缓存(实例使用)