django 使用 request 获取浏览器发送的参数示例代码
作者:fanlei5458 发布时间:2023-07-26 15:04:44
标签:django,request,参数
获取数据(四种方式)
1. url: 需要正则去匹配
url(r'^index/(num)/$',view.index)
匹配到的参数会自动传入对应的视图函数
也可以给匹配到的参数起名字?P<num>
url(r'^index/(?P<num1>\d*)(?P<num2>\w*)$',)
使用url传参的时候,要么都使用位置参数,要么都使用给参数起名字的方式
也可以通过request.path获取到url然后获取相应的参数.
如访问127.0.0.1:8000/index/
则request.path = '/index/'
2. ?号后面的键值对(又叫查询字符串):
如
index/?num=55&num2=66&num=77
request.GET.get('num') # 获取的是77
request.GET.getlist('num') # 获取num的所有值
request.GET.get('num2')
3. 请求体
request.POST.get() 获取表单数据
request.body 获取非表单数据,如json
request.body返回的是一个byte的对象
b'{"key":"value"}',可以通过下面方式获取值
data = eval(request.body.decode()).get('key')
data1 = json.loads(request.body).get('key')
#如果request.body没有数据上面两条语句都会报错
4. 报文头
request.META 获取请求头信息,
django会自动把获取到的请求头全部转化为大写,并在前面加上HTTP,如:
请求头: User-Agent:*****
获取方式: request.META.get('HTTP_USER_AGENT')
•代码示例(获取请求数据)
# 获取正则匹配到的数据,num1未位置参数,num2为命名参数,
def index(request,num2=None, num1=None):
print(num2)
# 构造响应数据
reNT')
sp = HttpResponse('hello world')
# 获取请求头
header = request.META.get('HTTP_USER_AGE)
# 获取地址
path = request.path
# 获取 ? 后面的数据(获取查询字符串数据)
para = request.GET
# 获取json数据
json_data = request.body
data = eval(request.body.decode()).get('asd')
data1 = json.loads(request.body).get('asd')
# 获取表单数据
form_data = request.POST
# 获取请求方法
method = request.method
# 获取文件
file_obj = request.FILES.get('image')
return resp
总结
以上所述是小编给大家介绍的django 使用 request 获取浏览器发送的参数网站的支持!
来源:https://blog.csdn.net/fanlei5458/article/details/80638348


猜你喜欢
- 第一版,能实现,但最后发现文件的顺序改变了:import osdef reename(): nm=1 pathh="/home/h
- mysql 误删除ibdata1之后如何恢复如果误删除了在线服务器中mysql innodb相关的数据文件ibdata1以及日志文件 ib_
- 前言:转眼距离上篇JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查)已有好几个月了,今天打算将它捡起来,发现好久不用
- 本文实例讲述了Python二叉树定义与遍历方法。分享给大家供大家参考,具体如下:二叉树基本概述:二叉树是有限个元素的几个,如果为空则为空二叉
- 线性回归属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测试这个函数训练的好不好(即此
- =一、链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一
- 关于用鼠标滚动到某个位置我们就去加载数据,这样的场景与业务需求现在越来越常见,现在来分析下《vue.js 实战》中作者的一个解决策略:1.
- 1.路径符号的含义 src="/js/jquery.js"、"../"这个斜杠是绝对路径的意思,表示
- 改变图像中物体对象(像素)之间的空间关系。平移# 定义平移矩阵,需要是numpy的float32类型# x轴平移50,y轴平移80, 2*3
- 在for i in iterator结构中,循环器每次返回的对象将赋予给i,直到循环结束。使用iter()内置函数,我们可以将诸如表、字典等
- 关于多维数组如何复合排序如数组:>>> import numpy as np>>> data = np.
- 在实际开发中经常会遇到计算某个字段的排名的情况如下表:totak_sales现在又如此要求:按sales的逆序排序,要求添加一个sales_
- cv::Mat 图像格式 (Data Type)命名规则通用的参数命名格式为:CV_{元素比特数}{元素类型}C{通道数}1最常见的 CV_
- 前言文章中的代码是参考基于Pytorch的特征图提取编写的代码本身很简单这里只做简单的描述。1. 效果图先看效果图(第一张是原图,后面的都是
- 近期遇到一个需求,就是用PySide2做出一个GUI,并且要将后台使用Matplotlib绘制的图显示在界面上。自己琢磨了蛮久,网上也搜了不
- 内部/内嵌函数1、定义:在一个函数的函数体内使用关键字def关键字定义一个新的函数,这个新的函数就叫做内部/内嵌函数。2、注意点:内部函数的
- 一、问题描述如题,在使用pip install xxx的方法安装python库,或者是基于python的软件时,报错“E
- 基于MySQL分布式锁实现原理及代码工欲善其事必先利其器,在基于MySQL实现分布式锁之前,我们要先了解一点MySQL锁自身的相关内容MyS
- 这是我以前发表在经典论坛的帖子,现在转贴回来。仿淘宝网站的导航效果。此方法有几个优点:根据字数自适应项目长度不同的项目使用不同的颜色来区分无
- 多边形选区概述多边形选区是一种常见的对象选择方式,在一个子图中,单击鼠标左键即构建一个多边形的端点,最后一个端点与第一个端点重合即完成多边形