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操作MySQL数据库具体方法
Oct 28 Python
分析在Python中何种情况下需要使用断言
Apr 01 Python
详解Python的Django框架中的中间件
Jul 24 Python
python3中dict(字典)的使用方法示例
Mar 22 Python
Python爬豆瓣电影实例
Feb 23 Python
Python遍历某目录下的所有文件夹与文件路径
Mar 15 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
tensorflow实现训练变量checkpoint的保存与读取
Feb 10 Python
python实现手势识别的示例(入门)
Apr 15 Python
python简单利用字典破解zip文件口令
Sep 07 Python
python中reload重载实例用法
Dec 15 Python
Python Django模型详解
Oct 05 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
php四种定界符详解
2017/02/16 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
[04:03]DOTA2肉山黑名单梦之声 风暴之灵中文配音鉴赏
2013/07/03 DOTA
python抓取网页中链接的静态图片
2018/01/29 Python
pycharm安装和首次使用教程
2018/08/27 Python
通过cmd进入python的实例操作
2019/06/26 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
工地资料员岗位职责
2013/12/31 职场文书
七年级生物教学反思
2014/01/30 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
请假条范文大全
2014/04/10 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
2014全年工作总结
2014/11/27 职场文书
招商银行工作证明
2015/06/17 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
公司备用金管理制度
2015/08/04 职场文书
高中美术教学反思
2016/02/17 职场文书
思想品德课教学反思
2016/02/24 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫