Response
2017-08-29 本文已影响0人
xncode
Response为(SimpleTemplateResponse)[https://www.jianshu.com/p/428e08697d81]的子类,drf并不要求必须返回Response,返回django的原生的response也行
初始化
接收参数
data=None, status=None,template_name=None, headers=None,exception=False, content_type=None
父类中只设置了status其余为None
headers的设置使用了基类的实现
rendered_content
重载了基类的实现( 解析模板 解析context 调用模板的render )
要求
设置accepted_renderer accepted_media_type renderer_context
调用
调用renderer.render(self.data, accepted_media_type, context)
其他说明
Response派生自django的SimpleTemplateResponse,其属性都可用
按照django一般处理流程 ,在response返回前会调用render
Response只能在drf的函数中使用,会确保其设置了accepted_renderer
accepted_media_type renderer_context,通过协商器设置了render和media_type,renderer_context设置了view args kwargs request