Архитектурапроекта Django

         Django использует основанную на компонентах архитектуру «без разделения ресурсов» (каждая часть архитектуры независит от других частей и поэтому может быть заменена или изменена). При конкретном разделение между различными частями означает, что он может масштабироваться для увеличения трафика добавлением оборудования на одном из  уровней: серверы кэширования, серверы баз данных или серверы приложений. Некоторые из самых загруженных сайтов успешно масштабировали Django, чтобы удовлетворить их требования (например, Instagram).

Код Django использует принципы и шаблоны проектирования, которые позволяют создание поддерживаемого и повторно используемого кода. Например, он использует принцип «Не повторяйся», поэтому не нужно дублирование и это сокращает объем кода. Django способствует группированию связанных функциональных возможностей в повторно используемые «приложения» и, на более низком уровне, группирует связанный код в модули (в соответствии с шаблоном Model View Controller).

Django написан на Python, который работает на многих платформах. Поэтому нет привязанности к какой-либо конкретной серверной платформе и можно запускать свои приложения на других версиях Linux. Также Django хорошо поддерживается многими провайдерами веб-хостинга, которые предоставляют определенную инфраструктуру и документация для размещения сайтов Django.

    Сам механизм разрешения URL-адрес URL Conf - это файлы urls.py, которые могут иметь отношение к проекту или приложению.

Приложение - это часть проекта, которая реализует свою отдельную функциональность. Пример приложения - django.contrib.admin, который предоставляет административную панель для сайта. Приложение напоминает проекты по своей структуре, за исключением того, что у приложений нет файла settings.py и сценария manage.py, который обеспечивает интерфейс для взаимодействия с проектом: запуск интерактивной консоли, запуск тестового сервера,управление файлами статистики и сеансами, запуск автоматизированных тестов. Приложения состоят из следующих частей:

models.py - объявление моделей, классов, описывающих таблицы в базах данных. Модели не привязаны к отдельной СУБД, поэтому разработчик может установить то или иное приложение, не опасаясь, что оно несовместимо с его СУБД. Это достигается с помощью коннекторов Python на основе которых, Django построил свою объектно-реляционную модель.

urls.py – описания URL-шаблонов для определения контроллеров.

tests.py – описание автоматизированных тестов для приложения.

apps.py – описание конфигурации приложения.

views.py – описание контроллеров (в Django они называются View, хотя в MVC View означает готовую для отображения страницу)

admin.py – регистрация моделей в административной панели.

Архитектура проекта Django показана на рис. 2.3.

Рисунок2.3 - Архитектура проекта Django.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: