Django框架HttpRequest对象用法实例分析


Posted in Python onNovember 01, 2019

本文实例讲述了Django框架HttpRequest对象用法。分享给大家供大家参考,具体如下:

1.URL路径参数

(1)位置参数:使用正则分组,与视图中的参数一一对应,不可换位置

例:

url(r'^(\d+)/(\d+)/$', views.index)
def index(request, 参数1, 参数2):
...

(2)关键字参数:参数位置可以变,与关键字保持一致即可
例:

url(r'^(?P<value1>\d+)/(?P<value2>\d+)/$', views.index)
def index(request, value2, value1):
...

2.QueryDict对象

HttpRequest对象的属性GET、POST都是QueryDict类型的对象,,QueryDict可以处理一键多值的问题。

(1)get:根据键获取值,如果有多个值,则获取最后一个。

get('键', 默认值)

(2)getlist:根据键获取值,值为列表形式。

getlist('键', 默认值)

3.查询字符串Query String

请求路径中的查询字符串(?k1=1&k2=v2…),可通过request.GET来获取,返回QueryDict对象。(不区分请求方式,POST也可用GET来获取)

例:

# /get/?a=1&b=2&a=3
def get(request):
  a = request.GET.get('a')
  b = request.GET.get('b')
  alist = request.GET.getlist('a')
  print(a) # 3
  print(b) # 2
  print(alist) # ['1', '3']
  return HttpResponse('OK')

4.请求体

(1)表单类型Form Data:

通过request.POST.get()来获取

(2)非表单类型Non-Form Data:

非表单类型数据,Django无法自动解析,可以填先通过request.body获取数据,然后按照请求格式解析

例:

import json
def post_json(request):
  json_str = request.body # 获取请求体数据
  json_str = json_str.decode() # 解码,python3.6 无需执行此步
  req_data = json.loads(json_str) # 将json转为字典
  print(req_data['a']) # 获取字典值
  print(req_data['b'])
  return HttpResponse('OK')

5.请求头

可通过request.META来获取请求头信息,类型为字典类型

6.其他

参数 描述
method 一个字符串,表示请求使用的HTTP方法,常用值包括:‘GET'、‘POST'。
use 请求的用户对象。
path 一个字符串,表示请求的页面的完整路径,不包含域名和参数部分。
encoding 一个字符串,表示提交的数据的编码方式。
FILES 一个类似于字典的对象,包含所有的上传文件。

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
详解Python中的文本处理
Apr 11 Python
python二分查找算法的递归实现方法
May 12 Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
详解Python自建logging模块
Jan 29 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 Python
创建Django项目图文实例详解
Jun 06 Python
python文本数据处理学习笔记详解
Jun 17 Python
opencv+python实现均值滤波
Feb 19 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
python实现输入三角形边长自动作图求面积案例
Apr 12 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
Django框架HttpResponse对象用法实例分析
Nov 01 #Python
Django框架序列化与反序列化操作详解
Nov 01 #Python
redis数据库及与python交互用法简单示例
Nov 01 #Python
python验证码图片处理(二值化)
Nov 01 #Python
使用matlab或python将txt文件转为excel表格
Nov 01 #Python
python 图片二值化处理(处理后为纯黑白的图片)
Nov 01 #Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 #Python
You might like
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
关于PHP中Object对象的笔记分享
2011/06/28 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP引用返回用法示例
2016/05/28 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
2016/09/11 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
2014/05/28 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
解决vue router使用 history 模式刷新后404问题
2017/07/19 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
[51:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第二局
2016/03/03 DOTA
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python实现抢购IPhone手机
2018/02/07 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
建筑工程管理专业自荐信范文
2013/12/28 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
师德师风自查总结
2014/10/14 职场文书
2015年资料员工作总结
2015/04/25 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS