django 使用 request 获取浏览器发送的参数示例代码


Posted in Python onJune 11, 2018

获取数据(四种方式)

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 获取浏览器发送的参数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Windows下实现Python2和Python3两个版共存的方法
Jun 12 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 Python
对python程序内存泄漏调试的记录
Jun 11 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
使用Windows批处理和WMI设置Python的环境变量方法
Aug 14 Python
python中p-value的实现方式
Dec 16 Python
python关闭占用端口方式
Dec 17 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
只用40行Python代码就能写出pdf转word小工具
May 31 Python
pytorch model.cuda()花费时间很长的解决
Jun 01 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 #Python
Python 爬取携程所有机票的实例代码
Jun 11 #Python
完美解决安装完tensorflow后pip无法使用的问题
Jun 11 #Python
Anaconda 离线安装 python 包的操作方法
Jun 11 #Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 #Python
python获取代码运行时间的实例代码
Jun 11 #Python
解决Ubuntu pip 安装 mysql-python包出错的问题
Jun 11 #Python
You might like
风格模板初级不完全修改教程
2006/10/09 PHP
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例
2017/07/07 PHP
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
js监听鼠标事件控制textarea输入字符串的个数
2014/09/29 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
总结Javascript中的隐式类型转换
2016/08/24 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
vue实现选中效果
2020/10/07 Javascript
简单介绍Ruby中的CGI编程
2015/04/10 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
Python爬虫库BeautifulSoup的介绍与简单使用实例
2020/01/25 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
Python之Sklearn使用入门教程
2021/02/19 Python
客服实习的个人自我鉴定
2013/10/20 职场文书
会计找工作求职信范文
2013/12/09 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
教育合作协议范本
2014/10/17 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
干部培训简讯
2015/07/20 职场文书
国家助学金受助感言
2015/08/01 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python
springcloud之Feign超时问题的解决
2021/06/24 Java/Android