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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python编程之属性和方法实例详解
May 19 Python
Python实现约瑟夫环问题的方法
May 03 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
利用Python批量提取Win10锁屏壁纸实战教程
Mar 27 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
python中partial()基础用法说明
Dec 30 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
python numpy库linspace相同间隔采样的实现
Feb 25 Python
Vs Code中8个好用的python 扩展插件
Oct 12 Python
几款好用的python工具库(小结)
Oct 20 Python
Django model class Meta原理解析
Nov 14 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与SQL注入攻击[三]
2007/04/17 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
Python面向对象实现方法总结
2020/08/12 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
详解Python中的Lock和Rlock
2021/01/26 Python
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
毕业设计计划书
2014/01/09 职场文书
国培教师自我鉴定
2014/02/12 职场文书
座谈会主持词
2014/03/20 职场文书
部门活动策划方案
2014/08/16 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
初中作文评语
2014/12/25 职场文书
文艺演出主持词
2015/07/01 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书