Довольно новичок в этой сцене и пытаюсь найти документацию, чтобы перенять лучшие практики. Мы создаем довольно большой сайт с контентом, который будет состоять из различных каталогов мультимедиа, и я пытаюсь найти некоторые сопоставимые модели данных / архитектуры, чтобы мы могли лучше понять подход, который мы должны использовать, используя структуру, которую мы никогда не использовали. использовал ранее. Любая информация / помощь будет принята с благодарностью!






"данные / архитектурные модели, чтобы мы могли лучше понять подход, который мы должны использовать, используя структуру, которую мы никогда раньше не использовали"
Django навязывает вам лучшие практики. У вас не так много вариантов выбора и вы не можете совершить много ошибок.
MVC (пока благородное стремление) реализован следующим образом:
Модель определена для вас. Просто придерживайтесь того, что делает Django естественным образом, и вы будете счастливы.
Архитектурно у вас обычно бывает такой стек.
Apache делает две вещи.
База данных, используемая функциями просмотра Django.
Архитектура четко определена для вас. Просто придерживайтесь того, что делает Django естественным образом, и вы будете счастливы.
Не стесняйтесь читать Документация Django. Отлично; пожалуй, лучшее из того, что есть.
@Carl Meyer: или lighttpd для обслуживания статического контента.
Во-первых, забудьте всю мантру MVC. важно иметь хорошую многоуровневую структуру, но MVC (как определено изначально) не такова, это была структура модульный, где каждый модуль GUI разбит на эти подмодули дерева. здесь нечего использовать в сети.
в веб-разработке действительно стоит иметь многоуровневую структуру, где наиболее важным уровнем является уровень хранения / моделирования, который получил название слой модели. Вдобавок вам понадобятся несколько других слоев, но на самом деле они не похожи на представления и контроллеры в мире графического интерфейса.
слои Django примерно:
Чтобы понять основы django и django взять на себя MVC, обратитесь к следующему: http://www.djangobook.com/
В качестве отправной точки для того, чтобы запачкать руки ... «... пытаюсь найти сопоставимые данные / архитектурные модели»
Вот быстрый и грязный способ перепроектировать базу данных, чтобы получить файл models.py, который вы затем можете проверить, чтобы увидеть, как django справится с этим.
1.) получите диаграмму, которая точно соответствует вашей цели. Например что-то вроде этого http://www.databaseanswers.org/data_models/product_catalogs/index.htm
2.) создайте sql-скрипт из диаграммы er и создайте базу данных, Я предлагаю Postgre, как некоторый MySQL Тип таблицы не будет иметь ограничений по ключевым словам, но в крайнем случае MySQL или SQLITE Сделаю
3.) создать и настроить приложение django для использования этой базы данных. Затем запустите: python manage.py inspectdb
Это, по крайней мере, даст вам файл models.py, который вы можете прочитать, чтобы увидеть, как django пытается смоделировать это.
Обратите внимание, что команда inspect предназначена для быстрого доступа к устаревшим база данных при разработке в django и как таковая не идеальна. Обязательно прочтите следующее, прежде чем пытаться это сделать: http://docs.djangoproject.com/en/dev/ref/django-admin/#ref-django-admin
Если вас беспокоит производительность или использование памяти, часто лучше иметь отдельный легкий веб-сервер (например, Nginx) для обслуживания статического контента, а не использовать Apache для обоих (хотя вы можете получить аналогичный эффект, если используете mod_wsgi в режиме демона. и работник Apache MPM).