Разработайте четкое понимание ролей и функций проектов и приложений в среде Django.
В Django вы можете использовать два основных компонента для создания веб-приложения; приложения и проекты. Разработчики иногда используют эти термины взаимозаменяемо, хотя они имеют разные значения и функции в веб-инфраструктуре Django.
Понимание проектов Django
В Django проект — это контейнер верхнего уровня для вашего веб-приложения. Проект содержит конфигурации для вашего веб-приложения и одного или нескольких приложений, каждое из которых предоставляет определенный набор функций или возможностей для вашего веб-приложения. Он также содержит любые компоненты, совместно используемые его различными приложениями. В проекте Django вы можете найти инструменты и утилиты, упрощающие управление вашим веб-приложением, такие как утилита командной строки Django и сервер разработки Django.
Компоненты проекта Django
Проект Django обычно содержит различные приложения и конфигурации вашего веб-приложения. Всякий раз, когда вы создаете новый проект, Django автоматически создает файлы, содержащие эти конфигурации. Компоненты, включенные в проект Django:
- Настройки: модуль настроек содержит конфигурации, необходимые для вашего проекта и отдельных приложений в вашем проекте. Этот модуль в основном содержит параметры конфигурации, такие как подключение к базе данных, промежуточное ПО, установленное приложение, разрешенные хосты и другие конфигурации, необходимые для работы вашего веб-приложения.
- URL-адреса: Модуль URL-адресов определяет шаблон URL-адреса для вашего приложения. Каждый шаблон URL-адреса в вашем проекте может либо сопоставляться с другим шаблоном URL-адреса в вашем приложении, либо непосредственно с функцией представления, которая обрабатывает запрос определенного URL-адреса. Сопоставляется ли шаблон URL с функцией представления или другим шаблоном URL в вашем приложении, конечной целью является сопоставление его с представлением, которое эффективно обрабатывает запрос.
- WSGI: модуль WSGI (Интерфейс шлюза веб-сервера) — это стандарт Python для веб-серверов и приложений. Модуль WSGI позволяет Django работать на разных серверах.
- АСГИ: модуль ASGI (интерфейс асинхронного сервера-шлюза) обрабатывает асинхронные запросы, такие как Соединения через веб-сокеты. ASGI — это стандарт для асинхронных веб-серверов для связи с веб-приложениями Python.
- Другие компоненты: Иногда вам потребуется добавить свои собственные компоненты в ваш проект Django, в зависимости от требований вашего приложения. Эти компоненты включают статические файлы, шаблоны, мультимедийные файлы и пользовательские команды управления.
Как создать проект Django
Чтобы создать проект Django, вы должны использовать Джанго-админ утилита командной строки. Вы можете создать свой проект Django, выполнив следующие действия:
- В интерфейсе командной строки перейдите в каталог, в котором вы хотите создать проект Django.
- Установите Django с помощью менеджера пакетов pip.
пип установить джанго
- Введите следующую команду и запустите ее:
django-admin стартовый проект
Приведенная выше команда создаст такой каталог:
Вы заметите избыточность в именах каталогов вашего проекта, т. е. имя вашего проекта появляется дважды. Если вы хотите избавиться от этого, вы можете добавить период, когда вы запускаете свой стартпроект такая команда:
django-admin стартовый проект .
Теперь структура вашего проекта будет выглядеть так:
Выполнив описанные выше шаги, вы должны успешно создать проект Django. управлять.py файл, созданный в вашем проекте, важен для взаимодействия с вашим проектом Django.
Понимание приложения Django
Цель приложения — предоставить вашему проекту Django определенные функции. Приложение помогает вам организовать кодовую базу, разбивая функциональные возможности вашего проекта на более мелкие компоненты.
Например, в проекте блога у вас будет приложение, предназначенное для аутентификации и авторизации, а другое — для сообщений в блоге. Вы можете создать несколько приложений в зависимости от конкретных потребностей вашего проекта.
Компоненты приложения Django
Приложение Django состоит из модулей, связанных с проектом, то есть с определенной функцией вашего сайта. Как и в случае с проектом, Django автоматически создает полезные файлы при создании приложения. Файлы, созданные Django, включают следующее:
- просмотры.py: Этот файл будет содержать всю логику, необходимую для получения запросов и отправки ответов. Он также определяет, какой HTML-шаблон отображать, основываясь на действиях пользователя на вашем веб-сайте.
- модели.py: этот модуль устанавливает структуру данных вашего приложения и определяет, как она будет храниться в базе данных. Он использует Django ORM (Object-Relational Mapping) для определения данных. Компонент моделей определяет различные отношения с базой данных в Django.
- admin.py: модуль администратора определяет интерфейс администрирования вашего приложения Django. Вы должны зарегистрировать свои модели в файле администратора. Если вам нужны дополнительные функции администратора помимо тех, которые предоставляет Django, вы можете определить пользовательские представления для своего интерфейса администратора в этом модуле.
- urls.py: этот файл определяет шаблоны URL или маршруты, уникальные для конкретного приложения Django. Иногда Django не создает этот файл автоматически. Если это произойдет, вы можете вручную создать его в каталоге вашего приложения.
Django генерирует некоторые другие компоненты, такие как приложения.py и тесты.py. Эти файлы определяют конфигурации вашего приложения и позволяют вам соответственно писать модульные тесты.
Как создать приложение Django
Прежде чем создавать приложение, вы должны создать проект. После создания проекта перейдите в каталог, содержащий управлять.py файл и выполните следующую команду в своем терминале:
python manage.py стартовый проект
Приведенная выше команда создаст подобную структуру папок на том же уровне каталога, что и ваш проект:
Разница между приложением и проектом в Django
Между проектом и приложением в Django есть определенные различия. Некоторые из них перечислены ниже.
Повторное использование кода
В Django приложение — это многократно используемый компонент вашего веб-приложения. Это означает, что если у вас есть приложение, которое обрабатывает аутентификацию пользователей для одного проекта, вы можете повторно использовать это же приложение в другом проекте с небольшими изменениями или без них. С другой стороны, проект нельзя использовать повторно. Создав проект для определенного веб-приложения, вы не сможете использовать его для другого приложения.
Сфера деятельности
Проект работает на более высоком уровне, чем приложение, потому что он отвечает за общую конфигурацию вашего сайта и управление им. С другой стороны, приложение отвечает только за определенную функцию или функциональность вашего веб-сайта.
Структура папок
Самая очевидная разница между приложением и проектом — это структура их папок. Проект обычно включает в себя настройки и другие файлы конфигурации, отвечающие за благополучие вашего сайта.
Приложение следует Архитектура Django MVT. Он содержит только файлы и конфигурации, отвечающие за благополучие конкретной функции вашего сайта.
Ваш проект и приложение работают вместе, чтобы создать хорошее веб-приложение
Хотя ваш проект и приложение уникальны, они в конечном итоге используются для обеспечения беспрепятственного взаимодействия при создании приложения. Вы должны иметь возможность комбинировать компоненты проекта и приложения для создания и настройки веб-приложения. Когда ваше приложение и проект готовы, вы можете начать создавать свой веб-сайт с помощью Django.