При создании безголового веб-сайта в Django файлы становятся длинными и нечитаемыми, есть ли какой-либо лучший и масштабируемый подход? [закрыто]
Я работаю над проектом безголового веб-сайта, где я реализую серверную часть через django, используя django-rest-фреймворки, до сих пор я использовал эту структуру
my_project/
├── manage.py
├── my_project/
│ ├── __init__.py
│ ├── asgi.py
│ ├─ settings.py
│ ├─ urls.py
│ ├── wsgi.py
├── auth/
├── migrations/
│ └── __init__.py
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
├── urls.py
├── signals.py
├── serializers.py
├── utils.py
└── views.py
Но проблема, с которой я столкнулся, заключается в том, что после того, как у меня было так много классов APIView для входа в систему, регистрации, аутентификации, Googleauth и т.д., views.py файл становится все длиннее и нечитабельным.
Поэтому я подумываю перейти на эту архитектуру (вдохновленную react js, где мы можем использовать весь html, tailwind и js внутри одного компонента.jsx).
my_project/
├── manage.py
├── my_project/
│ ├── __init__.py
│ ├── asgi.py
│ ├─ settings.py
│ ├─ urls.py
│ ├── wsgi.py
├── auth/
├── migrations/
│ └── __init__.py
├── api/
│ └── views/
├── __init__.py
│ ├── login.py
│ └── register.py
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── urls.py
Где для логина функциональности API у меня будет login.py , и внутри него я буду хранить:
- Его класс сериализатора для проверки.
- Его служебный класс для дополнительных функций.
- Его Класс аутентификации для обеспечения доступа к токенам jwt и обновления токенов.
- и его класс APIView.
и аналогично в register.py У меня будут отдельные сериализаторы, утилиты и представление api в одном файле.
Таким образом, я могу иметь все необходимые функциональные возможности одной функции в одном файле (или даже если он станет больше, я могу снова разделить его в самом пакете), чтобы в будущем, если какая-то функция выдает ошибку, мне нужно было только прочитать эту функциюфайл, вместо поиска его утилит и сериализаторов в разных файлах
Подойдет ли это для реализации такой структуры? И если нет, то может ли кто-нибудь предложить мне подход, который может решить эту проблему (и который будет принят сообществом django)?
Спасибо