美文网首页
response.py-Django REST框架

response.py-Django REST框架

作者: Mead170810 | 来源:发表于2019-10-31 17:49 被阅读0次

    回应-Django REST框架

    response.py

    回应

    与基本的HttpResponse对象不同,Template Response对象保留视图为计算响应而提供的上下文的细节。响应的最终输出直到需要时才计算出来,稍后在响应过程中。

    Django文档

    REST框架通过提供Response类,它允许您返回可以呈现为多个内容类型的内容,具体取决于客户端请求。

    这个Responseclass子类Django‘sSimpleTemplateResponse. Response对象是用数据初始化的,数据应该由原生Python原语组成。然后,REST框架使用标准的HTTP内容协商来确定它应该如何呈现最终的响应内容。

    没有要求您使用Response类,也可以返回HttpResponseStreamingHttpResponse对象,如果需要,则从视图中提取。使用Response类只是为返回内容协商的WebAPI响应提供了一个更好的接口,可以将其呈现为多种格式。

    除非出于某种原因需要大量自定义REST框架,否则应该始终使用APIView类或@api_view函数用于返回的视图。Response物品。这样做可以确保视图能够执行内容协商,并在从视图返回响应之前为响应选择适当的呈现器。


    产生反应

    答复()

    签署: Response(data, status=None, template_name=None, headers=None, content_type=None)

    不像普通的HttpResponse对象,则不实例化Response具有呈现内容的对象。相反,您传递未呈现的数据,这些数据可能由任何Python原语组成。

    类使用的渲染器。Response类本身不能处理复杂的数据类型,例如Django模型实例,因此在创建Response对象。

    您可以使用REST框架的Serializer类来执行此数据序列化,或使用您自己的自定义序列化。

    论点:

    • data响应的序列化数据。
    • status*响应的状态代码。默认为200。另见状态码.
    • template_name*要使用的模板名称HTMLRenderer被选中。
    • headers在响应中使用的HTTP头字典。
    • content_type*答复的内容类型。通常,这将由内容协商确定的呈现程序自动设置,但在某些情况下,您可能需要显式地指定内容类型。

    属性

    .数据

    未呈现的、序列化的响应数据。

    .状态代码

    HTTP响应的数值状态代码。

    .内容

    呈现的响应内容。这个.呈现()方法之前必须调用过。.内容可以访问。

    模板名

    这个template_name,如果提供的话。只有在下列情况下才需要HTMLRenderer或者其他自定义模板呈现器是响应的可接受呈现程序。

    接受渲染器

    将用于呈现响应的呈现器实例。

    自动设置APIView@api_view在响应从视图返回之前。

    接受媒体类型

    由内容协商阶段选择的媒体类型。

    自动设置APIView@api_view在响应从视图返回之前。

    .renderer上下文

    将传递给呈现器的附加上下文信息的字典.呈现()方法。

    自动设置APIView@api_view在响应从视图返回之前。


    标准HttpResponse属性

    这个Response类扩展SimpleTemplateResponse,所有常见的属性和方法也都可以在响应中使用。例如,可以以标准方式设置响应的标题:

    response = Response()
    response['Cache-Control'] = 'no-cache'
    

    .呈现()

    签署: .呈现()

    和其他的一样TemplateResponse,则调用此方法将响应的序列化数据呈现为最终的响应内容。什么时候.呈现()时,响应内容将被设置为调用.render(data, accepted_media_type, renderer_context)方法的accepted_renderer举个例子。

    你一般不需要打电话.呈现()您自己,因为它由Django的标准响应周期处理。

    相关文章

      网友评论

          本文标题:response.py-Django REST框架

          本文链接:https://www.haomeiwen.com/subject/tbwtbctx.html