Найти тему

Как добавить HTML-шаблон в Django

Всем салют, друзья! Это базовый курс по Django.

Вступайте в группу - vk.com/mrsisadm - там больше интересного!!!

На прошлом уроке мы видели, как мы можем вернуть HTML-код через строку из views.py. Не рекомендуется передавать весь HTML-код через строку, потому что, если нам нужно разработать полную веб-страницу в HTML, мы не должны передавать весь код через функцию HttpResponse, потому что это снизит читаемость нашего кода . Поэтому вместо того, чтобы передавать весь код через функцию HttpResponse , мы создадим отдельный HTML-файл.

В этом руководстве мы увидим, как добавить отдельный шаблон (HTML) в проект django.

Шаблон не только способ для вас , чтобы отделить HTML от этих Python (views.py) , но это также дает вам возможность плагина некоторому Django кода внутри этих шаблонов , так те не только некоторые простые HTML - файлов, поэтому у них есть имя шаблоны. Мы узнаем много о шаблонах в следующих статьях о Django.

Создать отдельный HTML-файл для внешнего интерфейса (шаблон)

В нашем проекте нам нужно создать папку, в которой будут храниться наши шаблоны. Итак, перейдите на самый верхний уровень нашего проекта, где существует наш файл manage.py , создайте папку с именем шаблонов. Это будет так:

-2

Теперь внутри этой папки шаблонов добавим наш первый HTML-файл. Допустим, мы собираемся сделать этот файл домашней страницей, а затем просто назовем его home.html.

-3
-4

Итак, теперь наша задача состоит в том, чтобы, когда кто-то запрашивает домашнюю страницу, как мы можем отправить их на home.html.

Для этого выполните действия, указанные ниже.

Шаг 1. Сначала мы изменим settings.py, чтобы сообщить нашему серверу, что мы добавили новый шаблон. Итак, откройте settings.py и перейдите к переменной с именем TEMPLATES. Внутри DIRS. Теперь вы можете видеть квадратные скобки перед DIRS.

-5

Эти маленькие скобки будут списком мест, где следует искать шаблоны. Итак, давайте добавим каталог шаблонов в эти скобки.

-6

Шаг 2: Как мы знаем, когда кто-то собирается запросить ваш веб-сайт, он проверяет URLPATTERNS в файле urls.py, чтобы проверить, существует ли какой-либо путь для запрошенного URL-адреса или нет? Итак, мы должны создать путь к домашней странице.

-7

На скриншоте выше мы установили путь к домашней странице. Если кто-то запросит наш веб-сайт, он отправит этот запрос в функцию views.home .

Шаг 3. Как и в предыдущем шаге, запрос будет отправлен в функцию views.home, поэтому у нас должна быть домашняя функция внутри нашего views.py . Мы уже создали его в предыдущем уроке. Если у вас нет views.py, создайте его и добавьте в него домашнюю функцию следующим образом:

-8

Теперь у нас есть домашняя функция, которая что-то возвращает.

Чтобы открыть этот HTML-файл, мы должны использовать функцию рендеринга, а функция рендеринга принимает два параметра: первый - это объект запроса, а второй - имя открываемого HTML-файла. Чтобы использовать функцию рендеринга, нам нужно что-то импортировать, поэтому мы использовали:

from django.shortcuts import render

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

python3 manage.py runserver

(для тех, у кого в системе установлены как python 2, так и python 3, например Ubuntu 18.04 )

или

python manage.py runserver

-9

Теперь откройте наш веб-сайт, используя следующую ссылку на изображении выше.

-10

Наконец, наш HTML-шаблон открыт в браузере.

Как я уже упоминал ранее, этот HTML-файл не является обычным HTML-файлом, мы действительно можем запустить некоторый код Python внутри этого HTML.

Например: скажем, я хочу отправить некоторую специальную информацию из нашего views.py в home.html, тогда мы можем передать словарь через функцию рендеринга, как показано на изображении ниже.

-11

Итак, мы передаем здесь словарь, в котором есть ключ = имя, а значение, связанное с этим ключом, -  сумасшедший программист.

Теперь посмотрим, как мы можем отобразить эту информацию в нашем HTML-шаблоне.

Откройте свой шаблон home.html и отредактируйте его, как показано на скриншоте ниже:

-12

Итак, здесь мы собираемся показать наше значение, присвоенное этому имени ключа . Если мы передадим какой-либо ключ в две фигурные скобки, он даст нам значение этого ключа. Итак, запустим его в браузере.

-13

Вот как мы можем передать некоторую информацию из функции python в шаблон HTML в django.

Я уверен, что ваши запросы такие:

  • Как создать собственную страницу HTML-шаблона в django?
  • Как передать информацию из представлений функций Python в шаблон HTML в django?

Решены.

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