Django源码学习-15-SimpleTemplateResponse

Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。

TemplateResponse提供了一种方法。与基本HttpResponse对象不同 ,TemplateResponse对象保留视图提供的模板和上下文的详细信息以计算响应。在响应过程中稍后需要时,不会计算响应的最终输出。

继承链:

SimpleTemplateResponse 对象

属性

SimpleTemplateResponse.template_name

要呈现的模板的名称。接受依赖于后端的模板对象(例如返回的对象 get_template()),模板名称或模板名称列表。

SimpleTemplateResponse.context_data

呈现模板时要使用的上下文数据。它必须是一个 dict。

SimpleTemplateResponse.rendered_content

使用当前模板和上下文数据的响应当前呈现值内容。

SimpleTemplateResponse.is_rendered

一个布尔值,指示是否已呈现响应内容。

方法

参数的含义与HttpResponse相同。

处理上下文,接收dict类型的上下文内容,默认返回同样的dict,重写用以实现对上下文做额外的处理。

接收由(get_template()返回的)后台相关的模板对象,模板名字,或者多个模板名字组成的列表。

添加渲染完成后的回调函数,如果该方法运行时渲染已完成,回调函数会被立即调用。

检查is_rendered,调用rendered_content属性,启动渲染,将实例的content属性设置为rendered_content的内容,调用回调函数(如果有),返回最终响应。该方法仅仅在初次被调用时生效:首先检查is_rendered,为False才会进行渲染,当渲染后会将is_renderd置为True。

TemplateResponse可以用在任何HttpResponse可以使用的地方

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190811A000NL00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券