zoukankan      html  css  js  c++  java
  • 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')
  • 相关阅读:
    程序编译与代码优化 -- 早期(编译期)优化
    Java字节码指令
    知识点
    Openresty配置文件上传下载
    Openresty + nginx-upload-module支持文件上传
    G1日志分析
    Garbage First(G1)垃圾收集器
    Java内存分析工具jmap
    编译JDK1.7
    Java服务CPU占用高问题定位方法
  • 原文地址:https://www.cnblogs.com/Liang-jc/p/9390116.html
Copyright © 2011-2022 走看看