Rest_Framework--renderers

渲染器
该功能只是在我们的开发调试的时候用,默认有两个类。
当浏览器访问时走BrowsableAPIRender类返回html页面
当其他形式访问时返回json形式返回
#restframework中默认就是下面 这两个render类,它的内部实现原理是拿url中的后缀名 .json 和类中的format字段进行比较,
如果renderer_classes 中的某个类匹配成功了,那就用那个类来返回某种格式的数据
renderer_classes = [JSONRenderer,BrowsableAPIRenderer] #JSONRenderer 后端返回的数据序列化成json类型 #BrowsableAPIRenderer,将文件的content-type设置为text/html ,游览器在获取到这种文件时,会自动调用html解析器
对文件进行相应
的处理.也就是当浏览器访问的时候,restframwork默认返回给我们一个html页面
restframework 中 render_classes 中默认就是这两个类 源码中规定
DEFAULTS = {
    # Base API policies
    'DEFAULT_RENDERER_CLASSES': (
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
    ),
注意来看一下:Browsable ApIRenderer的相关源码
media_type = 'text/html'
format = 'api'
template = 'rest_framework/api.html'#当与这个类匹配的时候,会调用rest_framework中默认的HTML

filter_template = 'rest_framework/filters/base.html' 
code_style = 'emacs'
charset = 'utf-8'
form_renderer_class = HTMLFormRenderer

 

posted @ 2020-12-13 16:55  盲仔不瞎忙  阅读(155)  评论(0编辑  收藏  举报