Я использую фреймворк django rest. У меня четыре версии одного и того же приложения, и код отличается в зависимости от версии. Итак, я реализую в своем коде условия 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. Пожалуйста, предложите мне.






Вы можете использовать встроенный инструмент DRF управление версиями.
Просто включите управление версиями, добавив это в свой 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'