代码之家  ›  专栏  ›  技术社区  ›  Sandeep

移动应用程序django rest框架中的版本控制编程

  •  1
  • Sandeep  · 技术社区  · 6 年前

    我用的是姜戈休息花架。我有四个版本的相同的应用程序和代码是不同的,取决于版本。所以,我在代码中实现if-else条件。 前任:

    version1 = ('1.0','2.0')
    version2 = ('3.0','4.0')
    if request.META['HTTP_VERSION'] in version1:
        #run this code
    elif request.META['HTTP_VERSION'] in version2:
        #run this code 
    else:
        # run this code
    

    在django-rest框架中,有没有更好的方法来实现不同应用程序版本的代码?请建议我。

    1 回复  |  直到 6 年前
        1
  •  2
  •   neverwalkaloner    6 年前

    您可以使用DRF的内置 versioning 工具。

    只需将其添加到设置中即可启用版本控制。py:

    REST_FRAMEWORK = {
        'DEFAULT_VERSIONING_CLASS': 'rest_framework.versioning.AcceptHeaderVersioning'
    }
    

    现在,您可以使用 Accept 标题:

    GET /bookings/ HTTP/1.1
    Host: example.com
    Accept: application/json; version=1.0
    

    在后端使用时检查请求的版本 request.version :

    request.version == '1.0'