Форум сайта python.su
Товарищи, посоветуйте гайдлайн по структуре проекта. Лучше несколько.
А то есть в уме куча кода, который ни во views не запихнешь, ни в functions какой-нибудь. В общем, нужны идеи.
Офлайн
LOMS
Если вы сами не знаете, что куда пихать, кто ж вам тут поможет?
Расскажите хотя-бы, что у вас за проект, что за модули, как они в пакеты собраны.
А без этого, вся структура стандартного джанго-проекта создается командой django-admin startproject и непонятно, что же вам непонятно.
Офлайн
LOMSСтарайтесь “кучу кода” реализовывать в методах моделей. ИМХО конечно.
Товарищи, посоветуйте гайдлайн по структуре проекта. Лучше несколько. А то есть в уме куча кода, который ни во views не запихнешь, ни в functions какой-нибудь. В общем, нужны идеи.
Офлайн
vakЭто, видимо, чтобы напрочь исключить повторное использование кода? Или для того, чтобы сделать проект как можно менее переносимым? Не понимаю, объясните, зачем бизнес-логику пихать в модели? Если у вас получается много кода для обработки данных, то ИМХО надо подумать над введение еще одного слоя, возможно отделить доступ к данным от модели домена. Вообще, когда кода становится много и разработчик начинает путаться в структуре проекта, нужно заняться рефакторингом, выделить общий код в отдельные библиотеки, подумать над иерархией классов - выделить АБК, продумать интерфейсы. Нужно заниматься проектированием архитектуры вашего приложения, провести декомпозицию кода, перетрясти дерево наследования, уменьшить связность компонентов, а не пихать все что не попадя в модели.
Старайтесь “кучу кода” реализовывать в методах моделей.
Офлайн
FishHook
Если вы сами не знаете, что куда пихать, кто ж вам тут поможет?
Офлайн
LOMS
У вас есть проект, который вы создали с помощью startproject или визардом IDE. В этот проект вы добавляете приложения командой startapp. Обе эти команды создают каталоги с некоторой структурой. У меня получилось вот так
Если у вас получается много вспомогательного кода, то вы выделяете этот код в отдельные модули или пакеты, получаете что-то типа такого
такая структура получилась, потому что нам так удобно, как это будет в случае вашего проекта никакие best practice вас не научат. Это вопрос удобства и рациональной организации вашего рабочего места.
У вас есть компьютер, в нем есть жесткий диск, операционная система по умолчанию вам предлагает некую организацию домашнего каталога: Users/LOMS/Downloads, Users/LOMS/Documents. Но вы наверняка этим не ограничиваетесь, и свою коллекцию фильмов, музыки и фотографий как-то каталогизируете только по вам известным критериям.
Офлайн
FishHookНе согласен. Постараюсь объяснить.
такая структура получилась, потому что нам так удобно, как это будет в случае вашего проекта никакие best practice вас не научат. Это вопрос удобства и рациональной организации вашего рабочего места.
Отредактировано LOMS (Дек. 24, 2016 15:27:16)
Офлайн