权限
认证
访问频率限制
序列化
路由
视图
分页
解析器
渲染器
指定页面的显示效果 开发测试用,在settings中配置
REST_FRAMEWORK = {
"DEFAULT_RENDERER_CLASSES":["rest_framework.renderers.JSONRenderer","rest_framework.renderers.BrowsableAPIRenderer"]
}
也可以在视图中配置
from rest_framework.renderers import JSONOpenAPIRenderer,JSONRenderer,BrowsableAPIRenderer
class CourseView(APIView):
renderer_classes = [JSONRenderer,BrowsableAPIRenderer]
def get(self,request,*args,**kwargs):
return Response("....")
版本
原理
class CourseView(APIView):
# renderer_classes = [JSONRenderer]
# versioning_class = QueryParameterVersioning
def get(self,request,*args,**kwargs):
print(request.version)
self.dispatch
return Response("....")
使用
配置
REST_FRAMEWORK = {
"DEFAULT_RENDERER_CLASSES":["rest_framework.renderers.JSONRenderer","rest_framework.renderers.BrowsableAPIRenderer"],
"DEFAULT_VERSION":'v1',
"ALLOWED_VERSIONS":["v1","v2"],
"VERSION_PARAM":'version',
}
设置路由
urlpatterns = [
path('admin/', admin.site.urls),
path('', include("front.urls")),
path('api/<version>/', include("api.urls")),
]
或者
urlpatterns = [
path("<version>/course/",views.CourseView.as_view(),name="course"),
]
获取版本
request.version