【发布时间】:2016-08-08 21:12:07
【问题描述】:
有什么区别
return TemplateResponse(request, self.template_name, context=context)
和
return render(request, self.template_name, context=context)
在任何情况下我应该使用其中一个而不是另一个?
【问题讨论】:
-
另见render的文档。
有什么区别
return TemplateResponse(request, self.template_name, context=context)
和
return render(request, self.template_name, context=context)
在任何情况下我应该使用其中一个而不是另一个?
【问题讨论】:
TemplateResponse 将模板的呈现延迟到视图完成之后。这允许任何template response middleware 在响应上运行,并可能在呈现模板之前更改模板或上下文数据。模板响应中间件运行后,模板被渲染,正常的响应中间件在渲染的内容上运行,然后响应返回给客户端。
render() 快捷方式会立即呈现模板并返回 HttpResponse。
【讨论】: