rest-framework组件 之 渲染器与版本
浏览目录
渲染器
规定页面显示的效果(无用,了解即可)。
局部渲染

只返回json数据。
效果:

看另一种情况:

既返回json数据,又嵌套在html中。注意:容易出bug.
效果如下:

看一下源码:

默认全局。
全局渲染
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES':['rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',],
}
版本
先看一下源码:
APIview--despatch--initial

圈出来指的就是版本。
rest-framework源码中用到了面向对象的封装。
版本使用:
添加配置
REST_FRAMEWORK = {
....
'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.URLPathVersioning',
'ALLOWED_VERSIONS':['v1','v2'], # 允许的版本
'VERSION_PARAM':'version', # 参数
'DEFAULT_VERSION':'v1', # 默认版本
....
}
设置路由
s9luffycity/urls.py
urlpatterns = [
#url(r'^admin/', admin.site.urls),
url(r'^api/(?P<version>\w+)/', include('api.urls')),
]
api/urls.py
urlpatterns = [
url(r'^course/$', course.CourseView.as_view()),
]
获取版本
request.version 获取版本

浙公网安备 33010602011771号