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实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
Python3实现从指定路径查找文件的方法
May 22 Python
Python实现批量下载图片的方法
Jul 08 Python
使用Python的PIL模块来进行图片对比
Feb 18 Python
python基础教程之分支、循环简单用法
Jun 16 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
Python 读写文件的操作代码
Sep 20 Python
Python for循环与range函数的使用详解
Mar 23 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
Python笔记之工厂模式
Nov 20 Python
python退出循环的方法
Jun 18 Python
pytest进阶教程之fixture函数详解
Mar 29 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下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
JavaScript DOM学习第一章 W3C DOM简介
2010/02/19 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
JS留言功能的简单实现案例(推荐)
2016/06/23 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
Node.js利用断言模块assert进行单元测试的方法
2017/09/28 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
微信小程序new Date()方法失效问题解决方法
2019/07/29 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
[01:01:04]2018DOTA2亚洲邀请赛 4.5 淘汰赛 OpTic vs TNC 第一场
2018/04/06 DOTA
[01:17:47]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python pickle 和 shelve模块的用法
2013/09/16 Python
python多线程socket编程之多客户端接入
2017/09/12 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
化工专业应届生求职信
2013/11/08 职场文书
酒吧创业计划书
2014/01/18 职场文书
国家助学金获奖感言
2014/01/31 职场文书
优秀语文教师事迹
2014/05/18 职场文书
演讲开场白和结束语
2015/05/29 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书