zoukankan      html  css  js  c++  java
  • 版本控制器 django全局和局部配置

    from django.urls import path, re_path
    from .views import BookView,PublsihView,AuhthorView
    from rest_framework.versioning import URLPathVersioning
    urlpatterns=[
    re_path('^(?P<version>[v1|v2]+)/book/$',BookView.as_view({"get": 'list','post': 'create'})
    ),

    re_path(r'^(?P<version>[v1|v2]+)/book/(?P<id>d+)/$', BookView.as_view({'get':'retrieve'})), #{'get':'retrieve'}
    path('author', AuhthorView.as_view()),
    path('publish', PublsihView.as_view())
    ]

    用法:官方

    视图:

    class BookView(ModelViewSet):
    """ 视图简化案例"""
    lookup_field = 'id'
    queryset = Book.objects.all()
    serializer_class = SerializerBook


    请求:

     

     源代码加打印位置:


    全局配置settings.py
    REST_FRAMEWORK={

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

    }

     局部配置:

    class BookView(ModelViewSet):
    """ 视图简化案例"""
    # 局部配置版本
    versioning_class = URLPathVersioning
    lookup_field = 'id'
    queryset = Book.objects.all()
    serializer_class = SerializerBook
  • 相关阅读:
    P3507 [POI2010]GRA-The Minima Game
    P2038 无线网络发射器选址
    2017.9.23清北第二场
    P3183 [HAOI2016]食物链
    2017.9.17校内noip模拟赛解题报告
    Day2代码
    P1328 生活大爆炸版石头剪刀布
    Fibinary Numbers
    Mac os 进行Android开发笔记(1)
    python中文注释及输出出错
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/14511151.html
Copyright © 2011-2022 走看看