HTTP Request和Response

HttpRequest对象

 

一、属性

Request.path  不包含域名

Request.path_info  不包含域名和APP路径

Request.method  

Request.GET

Request.POST

Request.COOKIES  一个标准的Python 字典,包含所有的cookie,键和值都为字符串。

Request.session  一个既可读又可写的类似于字典的对象,表示当前的会话。只有当Django启用SessionMiddleware中间件时才可用。

Request.FILE  一个类似于字典的对象,包含所有的上传文件。FILES中的每个键为Input中的name。

Request.META  一个标准的Python 字典,包含所有的HTTP 头部。

Request.user  一个AUTH_USER_MODEL类型的对象,表示当前登录的用户。user只有当Django 启用AuthenticationMiddleware中间件时才可用。

如果用户当前没有登录,user将设置为django.contrib.auth.models.AnonymousUser的一个实例。你可以通过is_authenticated()区分它们:

 

if request.user.is_authenticated():
    # Do something for logged-in users.
else:
    # Do something for anonymous users.
View Code

 

Request.urlconf

 

 

二、方法

Request.get_host()

Request.get_full_path()  返回path, 如果可以将加上查询字符串。

Request.build_absolute_uri(location)  返回location绝对URI。

Request.is_secure()  判断是否是HTTPS请求。

Request.is_ajax()  判断是否是XMLHttpRequest请求。

 

QueryDict对象

  在HttpRequest对象中,GET和POST属性是django.http.QueryDict的实例,它是一个自定义的类似字典的类,用来处理同一个键带有多个值。这个类的需求来自某些HTML 表单元素传递多个值给同一个键,<select multiple>是一个显著的例子。

方法:

QueryDict.get(key, default)

QueryDict.setdefault(key, default)

QueryDict.update(other_dict)

QueryDict.items()

QueryDict.iteritems()

QueryDict.iterlists()

QueryDict.values()

QueryDict.itervalues()

QueryDict.copy()

QueryDict.getlist(key, default)

QueryDict.setlist(key, list)

QueryDict.appendlist(key, item)

QueryDict.setlistdefault(key, default_list)

QueryDict.lists()

QueryDict.pop(key)

QueryDict.pipitem()

QueryDict.dict()

 

HttpResponse对象

  与由Django自动创建的HttpRequest对象相比,HttpResponse对象由程序员创建.你创建的每个视图负责初始化实例,填充并返回一个HttpResponse.

 

HttpResponse类是在django.http模块中定义的。

 

posted @ 2017-05-31 22:31  Vincen_shen  阅读(138)  评论(0)    收藏  举报