Назад в блог

Создание представлений во фреймворке веб-приложений Django

Создание представлений во фреймворке веб-приложений Django

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

В нашей серии статей о Django, мы изучали Django, создавая пример веб-сайта с базовыми функциями блога. В этом руководстве мы рассмотрим шаги по созданию примера представления (view) для нашего приложения Django.

Предварительные требования

Чтобы следовать этому руководству, вам понадобятся следующие компоненты.

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

В этом руководстве мы покажем, как создавать представления Django, которые позволят веб-приложению правильно обрабатывать веб-запросы и возвращать соответствующий ответ. Как описано в официальной документации Django, веб-ответ может представлять собой HTML-содержимое веб-страницы, перенаправление или ошибку HTTP. Нет фиксированного места для хранения функций представлений, если они находятся в путях Python. Однако существуют популярные соглашения по именованию и размещению файлов. Это руководство будет следовать этим соглашениям.

Шаг 1. Активация виртуального окружения

Django лучше всего работает в виртуальном окружении Python. Наше приложение Django sample_app создано в выделенном виртуальном окружении. Сначала активируйте виртуальное окружение:

Activate

Шаг 2. Создание функций представлений

Перейдите в наш каталог random_app в котором находятся модели для нашего сайта-блога:

Здесь файл views.py будет содержать код, необходимый для создания наших представлений. Откройте его в текстовом редакторе:

Views in Django 1

Нам нужна функция render() из библиотеки django.shortcuts поэтому первая строка остается прежней. Функция render() функция помогает объединить шаблон и контекст для возврата в виде соответствующего объекта HttpResponse .

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

Views in Django Edited Views

Сохраните файл и закройте редактор.

Шаг 3. Сопоставление URL-адресов с представлениями

В данный момент для этих функций не назначен URL-адрес, поэтому они недоступны. Нам нужно добавить еще один блок urlpatterns внутри файла конфигурации URL. В Python он называется файлом URLconf (конфигурации URL).

Django должен определить корневой модуль URLconf . Затем он будет искать в urlpatterns, которые содержат все шаблоны URL в виде списка. Затем Django просматривает файл, пока не найдет первое совпадение. Как только совпадение найдено, Django ищет связанное с ним представление. Эта функция представления получит данные, связанные с шаблоном URL, и объект HttpRequest . Ошибка на любом этапе этого процесса приведет к перенаправлению на представление обработки ошибок.

Откройте файл urls.py приложения random_app в текстовом редакторе:

 

Введите следующий код:

 

Views in Django Urls

Сохраните файл и закройте редактор.

После этого нам также потребуется включить путь к файлу URL в sample_app директории URLconf. В противном случае наше приложение Django его не распознает. Это связано с тем, что URLconf для sample_app задан как ROOT_URLCONF в файле настроек.

Перейдите в директорию нашего приложения sample_app:

change dir

Откройте файл urls.py в текстовом редакторе:

Sample Urls

Введите следующий код в файл:

Sample Urls2

Давайте протестируем наши изменения. Запустите сервер приложения Django на localhost:8000:

Views in Django Start Server

Перейдите по URL-адресу:

Views in Django Wc Page

Проверьте URL-адрес для публикации:

Post Page

Шаг 4. Создание публикации в блоге

Мы настроили шаблоны URL и изучили их работу. Пришло время добавить тестовый блог и посмотреть на результат.

В панели администратора перейдите на страницу random_app :

Views in Django Random Admin Page

Нажмите ссылку +Add в строке Posts :

Views in Django Add Post

На новой веб-странице откроется форма, состоящая из следующих полей.

  • Title: Заголовок публикации в блоге.
  • Slug: Это часть веб-адреса, содержащая понятные человеку ключевые слова. Как правило, слаги (slugs) создаются на основе заголовка публикации.
  • Content: Текст публикации в блоге.
  • Author: Соответствующее имя пользователя.

Нажмите SAVE , чтобы сохранить публикацию:

Save Post

Шаг 5. Отображение данных в базе данных

В следующем разделе мы будем работать с нашей базой данных. Войдите в MySQL под пользователем, выделенным для Django:

Mysql prompt

Давайте проверим, была ли наша публикация успешно зарегистрирована в базе данных:

Change DB

Select Query

Вуаля! Публикация успешно зарегистрирована! Теперь вы можете выйти из оболочки MySQL.

Шаг 6. Дополнительные настройки представлений

Мы можем сделать еще кое-что с нашими представлениями. Откройте файл в текстовом редакторе:

Код должен выглядеть следующим образом:

Edit Views

Здесь мы добавили дополнительную инструкцию import для Post. Строка в кавычках из HttpResponse также заменяется данными из нашей публикации в блоге. Для ссылки на данные мы используем ID публикации со связанным объектом. ID сохраняется в переменной recent_post. Теперь мы можем извлекать определенные поля объекта, добавляя имя поля через точку.

После внесения изменений давайте проверим их. Запустите сервер Django:

Start Server

Теперь перейдите на страницу Posts :

View Post

Там должна отображаться созданная нами публикация.

Шаг 7. Выход из проекта

Чтобы выйти из сервера Django, нажмите Ctrl + C в терминале. Чтобы деактивировать виртуальное окружение Python, выполните следующую команду:

Заключение

В этом руководстве мы успешно продемонстрировали создание представлений, сопоставление шаблонов URL-адресов и отображение текстов на веб-странице из базы данных random_app в Django.Это фундаментальные концепции Django, которые необходимо понять и освоить.

Вот дополнительные ресурсы, которые помогут вам создавать приложения Django и управлять ими:

Приятной работы!

author

Preslav Dobrev

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.