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

时间:2018-05-23 07:00:18

标签: python django django-rest-framework

我正在使用django rest framwork。我有相同应用程序的四个版本,代码根据版本而有所不同。所以,我正在我的代码中实现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框架中为不同的app版本实现代码。请建议我。

1 个答案:

答案 0 :(得分:2)

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

只需将此版本添加到settings.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'