Основы MVC и джанго

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

3 Solutions collect form web for “Основы MVC и джанго”

«данные / архитектурные модели, чтобы мы могли лучше понять подход, который мы должны использовать, используя рамки, которые мы никогда раньше не использовали»,

Django навязывает вам лучшие практики. У вас нет большого выбора и вы не можете совершить много ошибок.

MVC (в то время как благородная устремленность) реализуется следующим образом:

  • Данные определяются в файлах «models.py» с использованием моделей ORM Django.
  • URL-адреса URL-адресов urls.py для просмотра функции. Выберите свой URL с умом.
  • Функция просмотра выполняет всю обработку, используя модели и методы в моделях
  • Презентация (через HTML-шаблоны), вызываемая функцией View. По существу, никакая обработка не может быть выполнена при представлении, простота итерации и принятия решений

Модель определена для вас. Просто придерживайтесь того, что Django делает естественно, и вы будете счастливы.

Архитектурно, у вас обычно есть такой стек.

  • Apache делает две вещи.

    • обеспечивает статический контент напрямую и сразу
    • динамический URL для Django (через mod_python, mod_wsgi или mod_fastcgi). Django app map URL для просмотра функций (которые получают доступ к базе данных (через ORM / модель) и отображаются через шаблоны.
  • База данных, используемая функциями просмотра Django.

Архитектура четко определена для вас. Просто придерживайтесь того, что Django делает естественно, и вы будете счастливы.

Не стесняйтесь читать документацию Django . Это отлично; возможно, самое лучшее.

во-первых, забудьте все мантру MVC. важно иметь хорошую многоуровневую структуру, но MVC (как определено изначально) не является одной, это модульная структура, где каждый модуль GUI разбивается на эти подмодули деревьев. ничего не использовать в Интернете здесь.

в веб-разработке действительно стоит иметь многоуровневую структуру, где самым важным слоем является хранилище / моделирование, которое получило название слоя модели . Кроме того, вам нужно еще несколько слоев, но они действительно не похожи на виды и контроллеры в мире GUI.

слои Django примерно:

  • хранилище / моделирование: models.py, очевидно. попробуйте поставить там большинство «рабочих» концепций. все отношения, все операции должны быть реализованы здесь.
  • диспетчеризация: в основном по urls.py. здесь вы превращаете свою схему URL в кодовые пути. подумайте об этом, как о большом вызове switch (). старайтесь иметь удобочитаемые URL-адреса, которые отображаются в намерениях пользователя. это поможет многому добавить новую функциональность или новые способы сделать то же самое (например, интерфейс AJAX позже).
  • сбор: в основном функции просмотра, как ваши, так и предварительно созданные общие представления. здесь вы просто собираете все модели, чтобы удовлетворить запрос пользователя. в удивительно многих случаях просто нужно выбрать один экземпляр модели, а все остальное можно получить из отношений. для этих URL-адресов достаточно общего представления.
  • презентация: шаблоны. если представление дает вам нужные данные, достаточно просто превратить его в веб-страницу. здесь вы поблагодарите, что классы моделей имеют хорошие аксессоры для получения любых соответствующих данных из любого данного экземпляра.

Чтобы понять фонды django и django взять MVC, проконсультируйтесь со следующим: http://www.djangobook.com/

В качестве отправной точки для грязных рук … «… пытаясь найти сопоставимые данные / архитектурные модели»

Вот быстрый и грязный способ обратного проектирования базы данных, чтобы получить файл models.py, который вы можете проверить, чтобы посмотреть, как django будет обрабатывать его.

1.) получите диаграмму er, которая точно соответствует вашей цели. Например, что-то вроде этого 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 пытается его моделировать.

Обратите внимание, что команда инспекции предназначена для быстрого доступа к устаревшей базе данных при разработке в django и, как таковая, не идеальна. Обязательно прочтите следующее, прежде чем пытаться это сделать: http://docs.djangoproject.com/en/dev/ref/django-admin/#ref-django-admin

  • Как получить переменную «debug» в моем контексте шаблона Django?
  • Настройка параметров django для работы с 1.4.1. Ошибка загрузки шаблона
  • Как включить {{fieldset.fields}} в шаблоне Django в строку?
  • Поддерживает ли Jinja2 вложенные операторы if?
  • Blank label_suffix по всему проекту Django
  • Словарь как таблица в шаблоне Django
  • Управление выпуском Django ModelForm
  • Django: как предварительно заполнить форму при использовании немодельных данных?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.