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 都是 & lt;input type="file" name=""/> 标签中 name 属性的值。FILES 中的每个 value 同时也是一个标准 Python 字典对象,包含下面三个 Keys:
注意:只有在请求方法是 POST,并且请求页面中 & lt;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:
来源: http://www.bubuko.com/infodetail-2946476.html