什么是两者之间的区别?
return TemplateResponse(request, self.template_name, context=context)
并且
return render(request, self.template_name, context=context)
有没有任何情况,我应该使用其中之一而不是另一个?
什么是两者之间的区别?
return TemplateResponse(request, self.template_name, context=context)
并且
return render(request, self.template_name, context=context)
有没有任何情况,我应该使用其中之一而不是另一个?
TemplateResponse
会延迟模板的渲染直到视图完成。这使得任何模板响应中间件都可以在响应上运行,并且可能在模板渲染之前更改模板或上下文数据。在模板响应中间件运行后,模板被渲染,并且正常的响应中间件在返回响应给客户端之前对渲染内容运行。
render()
捷径会立即渲染模板并返回一个HttpResponse
。