Найти тему

Настройка проекта Django. Создание каркаса web-приложения

Оглавление

Вторая статья серии уроков по web- программированию на языке Python на фреймворке Django. В данной серии мы разработаем web-приложение для организации, которая проводит обучающие курсы по IT-дисциплинам.

Для начала определимся с терминологией. Постараемся развести понятия «Web-сайт» и «Web-приложение». С точки зрения простого пользователя эти два объекта практически не будут различимы. Однако, сайт в «чистом» виде предназначен для размещения информации о товарах, услугах и т.п. в виде статичных web-страниц. Обработка данных, в этом случае может и не производится. Сравним такой сайт с информационным стендом, например в колледже- там вывешено расписание, объявления, поздравления и т.п., но никакой обработки данных нет- мы не ведём учет просмотров этого стенда, не меняем его содержимое оперативно, исходя из запросов пользователей, не позволяем обучающимся самим вести разделы и обсуждения на этом стенде. Современные Web-cайты несут не только информирующую нагрузку- сайт может выполнять функции по обработке пользовательских данных (учет и регистрация посетителей сайта, обсуждения на форуме, обработка пользовательских документов, организация рассчетов и т.п.). В этом случае мы говорим уже о web- приложениях. Web-сайт может состоять из одной или нескольких различных частей, например: главная страница, блог, форум, раздел загрузок, и так далее. Идеи, реализованные в фреймворке Django, подталкивают разработчиков создавать эти части, как разные приложения, которые, если понадобится, могут быть использованы повторно в других проектах. Сам сайт, состоящий из набора приложений, будет рассматриваться как проект.

1. Создание первого приложения проекта

Создаваемый нами проект admin_learning будет состоять из нескольких приложений. Так как, для проекта мы все подготовили, теперь подготовим каркас нашего первого приложения (название – firstapp), который будет размещён внутри папки admin_learning (команду необходимо выполнять из папки, в которой находится manage.py).

В итоге в каталог нашего проекта примет вид

-2

2. Регистрация приложения

После создания приложения, нам нужно зарегистрировать его в проекте, чтобы различные утилиты затрагивали его своим действием (например, при добавлении таблиц в базу данных). Приложения регистрируются добавлением их названий в список INSTALLED_APPS в настройках проекта (который, как мы помним, называется settings.py). Откройте файл admin_learning / admin_learning / settings.py и найдите в нём список INSTALLED_APPS. Затем добавьте новую строку в конец списка, как показано ниже.

-3

Эта строка указывает на файл конфигурации приложения (firstappConfig), который был создан в /admin_learning/catalog/apps.py , когда вы создали приложение. Можно заметить, что в INSTALLED_APPS уже подключено большое количество приложений (и объектов MIDDLEWARE, ниже в файле конфигурации). Они добавляют поддержку админ-панели Django и, как следствие, огромное количество функционала (включая сессии, аутентификацию и прочее). Таким образом, мы создали и настроили каркас приложения.

3. Настройка базы данных проекта

Таким образом, мы создали прототип сайта. Перед проверкой его работоспособности, нам предстоит впервые запустить миграцию базы данных. Это обновит нашу базу данных и добавит туда необходимые модели (и уберёт некоторые предупреждения, которые были бы показаны при попытке запуска). Забегая вперед, скажем, что модели отображают информацию о данных, с которыми вы работаете. Они содержат поля и поведение ваших данных. Обычно одна модель представляет одну таблицу в базе данных.

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

-4

и затем

-5

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

Команда makemigrations создаёт (но не применяет) миграции для всех приложений, которые установлены в ваш проект (вы так же можете указать в конце имя конкретного приложения, чтобы создать миграции только для него).

Команда migrate применяет созданные миграции к базе (Django отслеживает, какие миграции были созданы для данной базы).

4. Первый запуск проекта

Во время разработки, вы можете проверить свой сайт, разместив его на встроенном отладочном сервере, и просмотрев его в своём браузере. Запустите веб-сервер, используя команду runserver (в той же папке, что и manage.py).

-6

Теперь «запустим» наше приложение, посетив URL http://127.0.0.1:8000/firstapp

-7

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