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:

  • filename:上传文件名,用Python字符串表示
  • content-type:上传文件的Content type
  • content:上传文件的原始内容

注意:只有在请求方法是POST,并且请求页面中<form>有enctype="multipart/form-data"属性时FILES才拥有数据。否则,FILES是一个空字典。

META  

包含所有可用HTTP头部信息的字典。例如:

  • CONTENT_LENGTH
  • CONTENT_TYPE
  • QUERY_STRING:未解析的原始查询字符串
  • REMOTE_ADDR:客户端IP地址
  • REMOTE_HOST:客户端主机名
  • SERVER_NAME:服务器主机名
  • SERVER_PORT:服务器端口

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:

最新文章

  1. 增强学习(二)----- 马尔可夫决策过程MDP
  2. 免费的HTML5版uploadify送上
  3. 【leetcode】Candy
  4. 51Node 1364--- 最大字典序排列(树状数组)
  5. HDR the Bungie Way PPT and demo from MSFT
  6. Sublime Python 插件配置合集
  7. Visual Studio 2010中创建ASP.Net Web Service
  8. CSS3新特性罗列
  9. C#多线程--仓库问题引发的故事
  10. Swift之GCD使用指南1
  11. iBATIS 调试
  12. Codeforces 1114F Please, another Queries on Array? 线段树
  13. [ Learning ] Spring Resources
  14. QML中打印
  15. redis 的简单用法
  16. X-WAF简单测试体验
  17. poj 8469 特殊密码锁
  18. vue 2.0创建新项目
  19. Ehcache2 的配置(不使用配置文件)
  20. MYSQL 级联 添加外键

热门文章

  1. Sqrt算法
  2. jquery获取当前select下拉选的属性值
  3. 如何让View一直沿z轴旋转
  4. Json学习一(基础概念知识学习)
  5. [转] Windows局域网通过NTP设置时间同步
  6. 第四章 Spring.Net 如何管理您的类___对象、对象工厂和应用程序上下文
  7. 原来javascript 自带 encodeURI 和 decodeURI文 方法了
  8. date类型数据插入
  9. php上传文件中文文件名乱码的解决方法
  10. 开源的PaaS方案:在OpenStack上部署CloudFoundry (三)部署BOSH