我正在使用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版本实现代码。请建议我。
答案 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'