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 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
安装dbus-python的简要教程
May 05 Python
python中字典(Dictionary)用法实例详解
May 30 Python
Python写入CSV文件的方法
Jul 08 Python
python append、extend与insert的区别
Oct 13 Python
python基础教程之Filter使用方法
Jan 17 Python
python使用mysql的两种使用方式
Mar 07 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
python 公共方法汇总解析
Sep 16 Python
Python安装OpenCV的示例代码
Mar 05 Python
用Python 执行cmd命令
Dec 18 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简单选择排序算法实例
2015/01/26 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
php session的应用详细介绍
2017/03/22 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
js getBoundingClientRect() 来获取页面元素的位置
2010/11/25 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
天翼开放平台免费短信验证码接口使用实例
2013/12/18 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
python之消除前缀重命名的方法
2018/10/21 Python
Python rstrip()方法实例详解
2018/11/11 Python
selenium+python环境配置教程详解
2019/05/28 Python
tensorflow 限制显存大小的实现
2020/02/03 Python
python中wheel的用法整理
2020/06/15 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
2014/04/23 HTML / CSS
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
质检部岗位职责
2013/11/11 职场文书
讲座主持词
2014/03/20 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
北京奥运会主题口号
2014/06/13 职场文书
班级文化建设标语
2014/06/23 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
2015年超市工作总结
2015/04/09 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
红色故事汇观后感
2015/06/18 职场文书
手术室消毒隔离制度
2015/08/05 职场文书