我正在使用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/