Рубрики
Без рубрики

Понимание фундаментальных Paradigms Django Framework

Несомненно, веб-каркас Django является мощной и гибкой. В то же время, для начинающих, он с … Теги с Django, Python, WebDev, учебником.

Несомненно, Django Web Framework это мощный и гибкий. В то же время для начинающих можно научиться учиться. Я пробовал изучать его несколько раз, следуя учебникам «начинающим» и, хотя, успешно заканчивая их, в том смысле иметь работоспособное приложение, я никогда не чувствовал, что концепции щелкают.

Оказывается, у django есть Два фундаментальные парадигмы, которые вы Должен Понять (концептуализировать) и усваивать и успешно использовать его:

  1. Разница между «проектами» (иногда называемыми «сайтами») и «приложениями» в Джангу; и
  2. Цикл HTTP-запроса/ответа в Django и как данные текут через различные файлы для отображения страницы. Давайте более подробно посмотрим на каждый подробный, чтобы увидеть, как они лежат в целое Джанго вместе с некоторыми дополнительными ссылками, которые вы можете исследовать.

Проекты и приложения в Джангу

Источник путаницы между Проекты и приложения Обычно возникает из простого факта, что мы часто думаем о том, как «приложение» (в целом, «Big Picture» пакет) – то, что Django относится к проект . Это Контейнер верхнего уровня Для всей работы, которая составляет общее веб-приложение или сайт. Соответственно, иногда вы также увидите термины «Проект» и «Сайт», используемый взаимозаменяемо в дискуссиях Django.

Возможно, лучший способ подумать о том, что, чаще всего, сразу после того, как вы настроили виртуальную среду Python, самое первое, что вы делаете, когда развиваются с Django, это создать проект . Например, если ваше новое приложение/имя сайта – my_web_site , вы сделаете что-то подобное (я использую Linux):

mkdir my_web_site
cd my_web_site
python3 -m venv .venv
source .venv/bin/activate
pip3 install django
django-admin startproject my_web_site .

Обратите внимание, что последняя строка с startproject Команда имеет Отказ в конце, который рассказывает Django-admin Чтобы создать файлы в текущем каталоге, my_web_site вместо создания нового каталога.

Сравнение, приложения В терминологии Джанго просто способы, которыми ваш проект логически подразделен и обеспечивает Модульность к проекту. Например, если вы строили сайт электронной коммерции, у вас могут быть отдельные приложения для Продукты , клиенты , Заказы , Корзина , и т.д. Django разместит каждое из приложений в отдельный подкаталог в вашем каталоге верхнего уровня.

HTTP запрос/цикл ответа

Во-первых, не откладывайте некоторые термины здесь. По сути, это просто относится к тому, как данные текут через Django, когда кто-то взаимодействует со страницей, такой как нажатие на ссылку или ввод данных в форму и нажатие A Отправить Кнопка и наличие Django обрабатывать данные. Http . это «язык», что веб-приложения (и все www) говорят. Запрос Данные приходят в Django и ответ Является ли данные, которые Django отправляет после обработки входного запроса.

Базовый поток запроса/ответа и связанные файлы Django:

+----------------+
|      URLs      |
|    urls.py     |
+----------------+
         | 
         |
         |
         V 
+----------------+
|      View      |
|  app/views.py  |
+----------------+
         |  
         |                         
         |
         V                        
+-----------------+
| Model (optional)|
| app/models.py   |
+-----------------+ 
         |                         
         |                         
         |                         
         V 
+-----------------+
|    Template     |
|  template.html  |
+-----------------+

Во-первых, Django проверяет Уровень проекта URLS.PY Файл, который, как правило, «включает в себя» содержащийся (подчиненный) Уровень приложения URLS.PY Файлы, а также для URLPatterns Список, чтобы найти маршруты которые используются. Эти маршруты представляют собой узоры (называемые регулярные выражения , но вам не нужно беспокоиться об этом слишком много в начале) для URL-адресов вашего сайта, например /домой , , и т.д. Эти маршруты рассказывают Django, что Виды затем обрабатывать те конкретные маршруты.

Впоследствии Django направляет запрос на соответствующее представление в конкретном приложении (помните разницу между проектами и приложениями в Django!). Каждое приложение в Django обычно будет иметь несколько просмотров. Виды, как правило, получают контент для страницы из базы данных модели Отказ (В Очень простые сайты, такие как статические веб-сайты, такие как блог, у вас может быть не база данных.)

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

Когда вы начинаете с Django, имея Четыре Файлы для управления просто для отображения одной страницы могут показаться много накладных расходов. Однако после того, как вы привыкли к шаблону и потоку и понять парадигму, вы узнаете силу и гибкость, которую она обеспечивает.

Идти дальше

Если вы просто начинаете с рамки Django, я Высоко Рекомендовать Django для начинающих по Уильям С. Винсент Отказ Книга подробно проходит через пять проектов таким образом, чтобы вы повторили ключевые элементы, пока они не будут ясны и естественными.

Наконец, Django Документация Сама отлично. Это требует некоторого терпения для новичков, но работает через учебник после Вы сделали пару учебников начинающих, рекомендуется затвердеть ваше понимание основных концепций.

Я надеюсь, что это поможет вам в вашем путешествии, чтобы научиться Джангу. Опубликуйте свои комментарии и вопрос ниже.

Оригинал: “https://dev.to/timothydjones/understanding-the-fundamental-django-framework-paradigms-12mi”