Django response对象

 Pala   2017-07-15 17:46   189 人阅读  0 条评论

HTTP协议核心在于请求和响应,在Django中,请求报文被封装维HttpRequest对象,该对象的创建是自动生成

response对象关系:

response.jpg

response对象的两个主要的类:

        HttpResponseBase()

                该类具有字典访问标头的HTTP响应基类。

                HttpResponseBase()不能处理内容,和直接使用,如果处理内容可以用HttpResponse和StreamingHttpResponse子类 来代替

        BadHeaderError(ValueError)

                处理HttpResponseBase()中调用_convert_to_charset()方法时报错时调用。无其他功能

response对象中最重要HttpResponse类:

        使用django中用的最多的一个类之一就是HttpResponse类,其中render()方法本质其实就是HttpResponse类。

HttpResponse类传递的参数:

HttpResponse.__init__(content='', content_type=None, status=200, reason=None, charset=None)

    content:可以是一个迭代器或字符串。如果是一个迭代器,HttpResponse 将立即处理这个迭代器, 把它的内容转成字符串,并丢弃这个迭代器。如果你需要从迭代器到客户端的数据响应以数据流的形式, 你必须用 StreamingHttpResponse 类代替;如果是一个字符串(迭代器处理后的或手动传入的),那么这个字符串将作为相应报文的主体内容,也就是说如果是一个 http 文档,那么这个文档将会放入响应报文的主体中,最后在浏览器中显示,这也是最为常用的方式之一。

    content_type:用于指定 MIME 类型和编码,例如:“text/html; charset=utf-8”。客户端需要知道主体是什么类型的资源,才能调用相应的插件或内置的程序去处理。如果不传入,也就是为 None 时,将使用 DEFAULT_CONTENT_TYPE 的值来指定 MIME 类型,这个值默认为:'text/html';使用 DEFAULT_CHARSET 的值来指定文件编码,默认为:'utf-8'。

    status:响应状态码,默认为200,大部分时候是不需要更改,除非有特殊需求

    reason:原因短语,默认为‘ok’,现在客户端是根据状态码判断响应是否成功,所以reason的影响基本为0,只是用于对人的提醒。404状态码对应reason为not found

    charset:响应的字符集,如果没有赋值,默认从content_type中提取,如果提取失败,自动会把EFAULT_CHARSET 对应的值提取使用。

HttpResponse类的属性:


http://www.cnblogs.com/scolia/p/5635546.html


本文地址:http://chenxm.cc/post/231.html
版权声明:本文为原创文章,版权归 Pala 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?