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 22 Python
Python编写生成验证码的脚本的教程
May 04 Python
在Apache服务器上同时运行多个Django程序的方法
Jul 22 Python
Python数据结构之图的应用示例
May 11 Python
使用Django连接Mysql数据库步骤
Jan 15 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
python脚本之一键移动自定格式文件方法实例
Sep 02 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
Python3+selenium配置常见报错解决方案
Aug 28 Python
python pymysql库的常用操作
Oct 16 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删除文件夹的三种方法
2013/06/09 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
JavaScript 模拟用户单击事件
2009/12/31 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
Vue页面骨架屏注入方法
2018/05/13 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
vue多次循环操作示例
2019/02/08 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
Python编译成.so文件进行加密后调用的实现
2019/12/23 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
学习python需要有编程基础吗
2020/06/02 Python
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
办公室经理岗位职责
2014/01/01 职场文书
大学生学业生涯规划
2014/01/05 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
创业计划书之服装
2019/10/07 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python