1
2
3
4 渲染器
1、demo
主urls
from django.contrib import admin from django.urls import path,re_path,include urlpatterns = [ path('admin/', admin.site.urls), path('api/',include('api.urls')) ]
api.urls
from django.urls import path,re_path,include from api.views import course urlpatterns = [ re_path('^course',course.CourseViews.as_view()) ]
view
from rest_framework.views import APIView from rest_framework.response import Response from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer from django.shortcuts import HttpResponse class CourseViews(APIView): # renderer_classes = [JSONRenderer,BrowsableAPIRenderer] renderer_classes = [JSONRenderer] def get(self,request,*args,**kwargs): self.dispatch # 快速找dispatch return Response('course...') # 出错了,没有在app中注册 rest_framework # return HttpResponse('course...')
settings
INSTALLED_APPS = [ ... 'rest_framework', ] ... REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES': ['rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer'], }
2、rest_framework如何渲染的
2.渲染器 JSONRenderer和BrowsableAPIRenderer
一般情况用json即可
restframe实质:把你的json数据嵌套到html中显示
3.全局配置
源码
我的settings设置
5 版本 /api/v1/
1、源码
局部配置
2. 类
实质:django中request的get方法
不同verison 能拿到不同的版本
指定v1 v2
源码
全局配置 (不推荐这种)
test
默认的
推荐版本
version会传到kwargs
全局配置过(推荐版本)
支持的版本传参
5个类2个不用
8、终极版本:笔记
2. 版本 原理:要了解 使用: 1. 添加配置 REST_FRAMEWORK = { .... 'DEFAULT_VERSIONING_CLASS':'rest_framework.versioning.URLPathVersioning', 'ALLOWED_VERSIONS':['v1','v2'], # 允许的版本 'VERSION_PARAM':'version', # 参数 'DEFAULT_VERSION':'v1', # 默认版本 .... } 2. 设置路由 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()), ] 3. 获取版本 request.version 获取版本