我正在使用django rest框架。我有相同应用程序的四个版本,并且代码因版本而异。因此,我正在代码中实现其他条件。
例如:

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框架中为不同应用程序版本实现代码。请给我建议。

最佳答案

您可以使用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'

关于python - Django Rest框架中用于移动应用程序的版本控制编程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50481800/

10-14 18:22
查看更多