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回调函数用法实例分析
May 09 Python
Python素数检测实例分析
Jun 15 Python
pandas apply 函数 实现多进程的示例讲解
Apr 20 Python
pip命令无法使用的解决方法
Jun 12 Python
解决pyttsx3无法封装的问题
Dec 24 Python
django的ORM模型的实现原理
Mar 04 Python
详解python中的hashlib模块的使用
Apr 22 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
Jun 04 Python
深入了解Python装饰器的高级用法
Aug 13 Python
python+selenium实现12306模拟登录的步骤
Jan 21 Python
Python+uiautomator2实现自动刷抖音视频功能
Apr 29 Python
Python 解决空列表.append() 输出为None的问题
May 23 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
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
Javascript实例教程(19) 使用HoTMetal(5)
2006/12/23 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
jquery实现勾选复选框触发事件给input赋值
2015/02/01 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
js代码规范之Eslint安装与配置详解
2018/09/08 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
layer页面跳转,获取html子节点元素的值方法
2019/09/27 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
利用Python中的输入和输出功能进行读取和写入的教程
2015/04/14 Python
Python对列表排序的方法实例分析
2015/05/16 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
Python求算数平方根和约数的方法汇总
2016/03/09 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
django的登录注册系统的示例代码
2018/05/14 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
NBA欧洲商店(西班牙):NBA Europe Store ES
2019/04/16 全球购物
什么是Remote Module
2016/06/10 面试题
基层党组织整改方案
2014/10/25 职场文书
2014村书记党建工作汇报材料
2014/11/02 职场文书
应收账款管理制度
2015/08/06 职场文书
八年级历史教学反思
2016/02/19 职场文书
HTML中的表单元素介绍
2022/02/28 HTML / CSS