Я создаю приложение Django с рядом моделей (5-10). Будет административная сторона, где конечный пользователь управляет данными, а затем пользовательской стороной, где другие конечные пользователи могут только читать данные. Я понимаю, что смысл приложения Django заключается в поощрении модульности, но я не уверен, что «там, где линия нарисована», так сказать.Django - Что представляет собой приложение?
В терминах «лучшие практики»: должна ли каждая модель (или очень родственные группы моделей) иметь собственное приложение? Должно ли быть приложение «admin», а затем приложение «frontend»?
В любом случае, как другие приложения извлекают и используют модели/данные в других приложениях?
Так, например, для приложения «Блоги» .. будет ли админ и функциональность интерфейса внутри этого приложения? Как насчет приложения «Каналы» - если у администратора есть админ, связанный с администратором Blogs, как они взаимодействуют? Вот где моя путаница - панель администратора, управляющая более чем 10 моделями (которые обычно разделялись на приложения) с одним пользовательским интерфейсом, также управляющим этими моделями (хотя и по-другому). –
Да, как правило, вы разделяете логическое подмножество моделей на приложение и все, что относится к этим моделям, представлениям, администраторам, API и тому, что не входит в одно и то же приложение. Что касается игры вместе, как я уже сказал, приложения на самом деле не изолированы, вы можете импортировать вещи из другого приложения.Например, если вы хотите использовать встроенный админ из приложения A1 в админке приложения A2, вы определяете строку inline в a1/admin.py, импортируете ее в a2/admin.py и добавьте ее в строки. –