Правильная структура каталогов для версионирования приложений (Django)
В настоящее время я начинаю работу над существующим проектом Django, и мне необходимо внести изменения в существующие API. Однако, я не могу изменить существующий код, поскольку старые приложения и сайты используют его, что может занять много времени для изменения структуры, и может нарушить текущие зависимости для них. Поэтому, пока что, как и просили, мне нужно поддерживать отдельные каталоги для изменения/обзора существующего кода и достичь структуры, подобной версионности для приложений Django. Что может быть лучшим способом/структурой для достижения этого?
Текущая структура проста и представлена django-admin startproject
project_dir
|___project_name_dir
|___settings.py
...
|___app_1_dir
|___ __init__.py
|___ views.py, serializers.py
...
|___app_2_dir
...
Итак, мне нужно создать структуру типа версионности для app_1. Что может быть лучшим подходом для этого?
Вы можете создать новое приложение, названное api_v2.
Но обычно я помещаю все приложения в папку приложения в директории имя_проекта:
project_dir
|___project_name_dir
|___settings.py
|___applications
|___api
|___ __init__.py
|___ views.py, serializers.py
|___api_v2
|___ __init__.py
|___ views.py, serializers.py
|___other_apps
|___ __init__.py
|___ views.py, serializers.py