之间有什么区别
return TemplateResponse(request, self.template_name, context=context)
和
return render(request, self.template_name, context=context)
是否有任何情况我应该使用其中一种而不是另一种?
答案 0 :(得分:14)
TemplateResponse
延迟模板的渲染,直到视图结束。这允许任何template response middleware在响应上运行,并可能在呈现模板之前更改模板或上下文数据。模板响应中间件运行后,将呈现模板,并在将响应返回给客户端之前,在呈现的内容上运行正常响应中间件。
render()
快捷方式会立即呈现模板并返回HttpResponse
。