@BoryanNikitin

Как лучше всего разделить проект Django на приложения?

Здравствуйте! Мне в рамках учебного проекта необходимо реализовать сайт-портфолио. Возникли сомнения, как правильнее разбить проект на приложения.

Реализовано приложение, которое позволяет работать с аккаунтом: авторизация, восстановление пароля, регистрация.
Планируется следующая модель: user --(oto)-> portfolio_list --(otm)-> portfolio --(otm)-> item
Планируется главная страница с поиском портфолио и юзеров, а также функционал, отвечающий за портфолио, помимо работы с аккаунтами.

Каким образом разбить проект? Первое, что пришло на ум: homepage, account, portfolio. Здесь смущают некоторые моменты:
0. portfolio можно создавать только из-под авторизованного аккаунта, поэтому не часть ли это account?
1. Что делать с моделью? Все три приложения будут использовать предложенную схему, однако реализация будет лежать в каком-то одном приложении. Или же можно как-то реализовывать модели, связывая их с другими, лежащие в других приложениях?
  • Вопрос задан
  • 944 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Не нужно выделять homepage в отдельное приложение. Всегда есть корень проекта, которого для этого функционала достаточно.
То, что портфолио можно создавать только из под авторизованного аккаунта, не делает его частью приложения, отвечающего за авторизацию.
Модели у каждого приложения должны быть свои. Связи между приложениями - это нормально.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы