HttpRequest对象

每个view函数函数的第一个参数都是HttpRequest对象,包含当前请求URL的一些信息。
HttpRequest对象实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## 属性
request.path # str类型,请求页面的全路径,不包括域名
request.method # str类型,值为'GET'或者'POST'
request.GET # QueryDict实例
request.POST # QueryDict实例,注意区分POST为空和POST的请求内容为空,判断是否为POST方法使用method属性
request.COOKIES # 标准python字典对象(用{}表示),{str:str}
request.FILES # 类字典对象(?),包含所有上传文件
# 形式为:XxxDict{name: {'filename':..., 'content-type':..., 'content':...}}
# 上面的name变量的值是<input type="file" name="...">中name属性的值
# 只有POST请求并且啥啥啥的FILES属性才会有值,否则为空
request.META # 可用的http头部信息字典
request.user # django.contrib.auth.models.User对象实例,代表当前登录的用户
# 用户未登录则为django.contrib.auth.models.AnonymousUser对象实例
# 通过 request.user.is_authenticated() 判断用户是否登录
# 需要激活django的AuthenticationMidlleware属性
request.session # 当前会话的字典对象,需要激活啥啥啥
request.raw_post_data # 未解析的原始post数据

## 方法
request.__getitem__(key) # 取出GET/POST中的值,优先POST
request.has_key(key) # 检查GET/POST是否包含key
request.get_full_path() # 返回包含查询字符串的请求路径字符串
request.is_secure() # 如果发出的是HTTPS安全请求返回True
----- For reprint please indicate the source -----
0%