Django之views.py详解
http请求中产生的两个核心对象:

http请求:HttpRequest
http响应:HttpResponse
所在位置:from django.http import HttpRequest,HttpResponse
1、HttpRequest:
HttpRequest对象的属性:
| Attribute | Description |
| path |
请求页面的全路径,不包括域名—例如, “/music/bands/the_beatles/” |
| method |
请求中使用的HTTP方法的字符串表示。全大写表示。例如: if request.method == 'GET': do_something() elif request.method == 'POST': do_something_else() |
| GET | 包含所有HTTP GET参数的类字典对象。参见QueryDict文档。 |
| POST |
包含所有HTTP POST参数的类字典对象。参见QueryDict文档。 服务器收到空的POST请求的情况也是有可能发生的。也就是说,表单form通过HTTP POST方法提交 请求,但是表单中可以没有数据。不能使用语句if request.POST来判断是否使用HTTP POST方法; 应该使用if request.method == 'POST' (参见本表的method属性)。 注意:POST不包括file-upload信息。参见FILES属性。 |
| REQUEST |
这个属性再django1.9里面已经被移除掉了。 |
| COOKIES | 包含所有cookies的标准python字典对象。Keys和values都是字符串。 |
| FILES |
包含所有上传文件的类字典对象。FILES中的每个Key都是<input type="file" name=""/>标签中 name属性的值。FILES中的每个value同时也是一个标准Python字典对象,包含下面三个Keys:
注意:只有在请求方法是POST,并且请求页面中<form>有enctype="multipart/form-data"属性时FILES才拥有数据。否则,FILES是一个空字典。 |
| META |
包含所有可用HTTP头部信息的字典。例如:
META中这些头加上前缀HTTP_最为Key,例如: HTTP_ACCEPT_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_HOST:客户发送的HTTP主机头信息 HTTP_REFERER:referring页 HTTP_USER_AGENT:客户端的user-agent字符串 HTTP_X_BENDER:X-Bender头信息 |
| user |
是一个django.contrib.auth.models.User对象,代表当前登录的用户。如果访问用户当前没有登录,user将被初始化为django.contrib.auth.models.AnonymousUser的实例。你可以通过user的is_authenticated()方法来辨别用户是否登录; if request.user.is_authenticated(): #Do something for logged-in users. else: #Do something for anonymous users. 只有激活Django中的AuthenticationMiddleware时该属性才可用 |
| session | 唯一可读写的属性,代表当前会话的字典对象。只有激活Django中的session支持时该属性才可用。 |
| raw_post_data | 原始HTTP POST数据。未解析过。高级处理时会有用处。 |
HttpRequest对象的方法(部分):
| get_full_path() | 返回包含查询字符串的请求路径。例如,"/music/bands/the_beatles/?print=true" |
QueryDict对象(部分)
| get() | 如果key对应多个value,get()返回最后一个value。 |
在HttpRequest对象中,GET和POST属性时django.http.QueryDict类的实例。
2、HttpResponse:
Django之views.py详解的更多相关文章
- Django之urls.py详解
urls.py:URL分发器(路由配置文件)URL配置(URLconf)就像是Django所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表.你就是以这种方式告诉Dj ...
- Django框架 之 querySet详解
Django框架 之 querySet详解 浏览目录 可切片 可迭代 惰性查询 缓存机制 exists()与iterator()方法 QuerySet 可切片 使用Python 的切片语法来限制查询集 ...
- Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式
Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...
- Django学习笔记之Django Form表单详解
知识预览 构建一个表单 在Django 中构建一个表单 Django Form 类详解 使用表单模板 回到顶部 构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字.你需要类似这样的 ...
- django用户投票系统详解
投票系统之详解 1.创建项目(mysite)与应用(polls) django-admin.py startproject mysite python manage.py startapp polls ...
- django中models field详解
本文参考自:django官方文档models/field 在model中添加字段的格式一般为: field_name = field_type(**field_options) 一 field o ...
- DJango模型Meta选项详解
Django模型之Meta选项详解 MEAT选项 Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当 ...
- django中request对象详解(转载)
django中的request对象详解 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将 HttpRequest对象 作为第一个参数传入该函数. ...
- django中的模型详解-1
在说明django模型之前,首先来说明一下django的生命周期,也就是一个请求到达django是如何处理的.[暂时不包含中间件] 浏览器的请求---->到达django中的urls中找到对应的 ...
随机推荐
- c#后台常用知识
生成如:2015-10-25T12:12:12格式的时间 DateTime.Now.ToString("s") 非asp.net mvc环境下对url编码 (HttpUtility ...
- jQuery-理解选择结果
使用$函数选择元素返回的是一个对象,可以称这个对象为jQuery对象,在jQuery执行一些操作的时候很多情况下都是返回的jQuery对象. jQuery中常用处理结果集的方法和属性 表达式 例子 说 ...
- struts2零配置參考演示样例
<filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2 ...
- Linux下oracle11g 导入导出操作详细
//用dba匿名登录 [oracle@enfo212 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Wed Ma ...
- Unity对象查找
1. GameObject.Find 全局摄像机 全局画布 全局灯光 无法查找隐藏对象 ,效率低下,要用完全的路径来提升查找效率 2. transform.Find UI中全部使用此方法 可以查找 ...
- mysql数据库中,查看某个数据库下的表的存储类型都有哪些
需求描述: 在备份数据库的时候,使用mysqldump进行数据库的备份,如果库中仅仅有innodb存储引擎, 那么使用--single-transaction就可以,如果还有其他的存储引擎类型就要使用 ...
- Oracle Apex 有用笔记系列 2 - 文件上传管理
1. 页面设计 页面A有若干region, 当中一个region用于文件列表管理(包含显示,下载.删除).如图A. 在页面A有一button,点击它会调用页面B,页面B负责文件上传.如图B. 图A 图 ...
- ZooKeeper(四)-- 第三方客户端 ZkClient的使用
前言 zkClient主要做了两件事情: 一件是在session loss和session expire时自动创建新的ZooKeeper实例进行重连. 另一件是将一次性watcher包装为持久watc ...
- <linux系统c语言生成.so文件,生成64位可执行文件,在64位系统中运行32位的可执行文件>
1.linux 系统c语言生成.o文件,---->gcc -m64 -c -fPIC test.c -o test.o2.linux 系统c语言生成.so文件,----->gcc -sha ...
- [分享]方便的 windbg 命令 - !list
Windows 内部的各种结构通常都会由双向链表串起来,用 !list 命令查看这些结构非常方便. 比如查看系统中的所有进程: lkd> !list -t nt!_LIST_ENTRY.Flin ...