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实现获取网站PR及百度权重
Jan 21 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
详谈Python基础之内置函数和递归
Jun 21 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
Python面向对象之类的定义与继承用法示例
Jan 14 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 Python
python与js主要区别点总结
Sep 13 Python
基于Python组装jmx并调用JMeter实现压力测试
Nov 03 Python
Python 数据可视化之Matplotlib详解
Nov 02 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
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
jQuery实现下拉加载功能实例代码
2016/04/01 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
Vue.js第二天学习笔记(vue-router)
2016/12/01 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
2018/03/10 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
vant中的toast层级改变操作
2020/11/04 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
python实现列表的排序方法分享
2019/07/01 Python
redis数据库及与python交互用法简单示例
2019/11/01 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
为娇小女性量身打造:Petite Studio
2018/11/01 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
大学校园毕业自我鉴定
2014/01/15 职场文书
支部书记四风问题对照检查材料
2014/10/04 职场文书
责任书格式
2015/01/29 职场文书
Python多个MP4合成视频的实现方法
2021/07/16 Python
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers