rest_framework-版本-总结完结篇

总urls.py

from django.conf.urls import url, include
urlpatterns = [
    url(r'^api/', include('api.urls'))
]

 

分流后urls.py

from django.conf.urls import url
from api import views
urlpatterns = [
    url(r'^(?P<version>[v1|v2]+)/user/$', views.UserView.as_view(),name='us')
]

 

settings.py

REST_FRAMEWORK = {
    "DEFAULT_VERSIONING_CLASS":"rest_framework.versioning.URLPathVersioning",
    "DEFAULt_VERSION":'v1',  #默认为1
    "ALLOWED_VERSIONS":['v1','v2'], #仅允许v1或者v2访问
    "VERSION_PARAM":'version',

}

views.py 视图

from django.shortcuts import render, HttpResponse
from rest_framework.views import APIView
from rest_framework.versioning import QueryParameterVersioning,URLPathVersioning
from django.urls import reverse



# Create your views here.

class UserView(APIView):
    def get(self, request, *args, **kwargs):
        #获取版本
        print(request.version)
        #获取处理版本的对象
        print(request.versioning_scheme)

        #反向生成URL(rest_framework)
        u1 = request.versioning_scheme.reverse(viewname='us',request=request)
        print(u1)

        u2 = reverse(viewname='uuu', kwargs={'version':1212})
        print(u2)
        return HttpResponse('ok')

 

转载于:https://www.cnblogs.com/Liang-jc/p/9390116.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值