Глава 18 • Знакомство с Django
Пространство имен определяется значением, присвоенным
app_name
в файле
learning_logs/urls .py
.
В этой простой странице HTML ссылка заключается в
якорный тег:
url_ссылки ">
текст ссылки
Генерирование URL-адреса шаблонным тегом существенно упрощает актуали-
зацию ссылок. Чтобы изменить URL-адрес в проекте, достаточно изменить схе-
му URL в
urls .py
, а Django автоматически вставит обновленный URL-адрес при
следующем запросе страницы. Каждая страница в проекте будет наследовать от
base .html
, так что в дальнейшем на каждой странице будет содержаться ссылка на
домашнюю страницу.
В точке
вставляется пара тегов
block
. Блок с именем
content
резервирует место;
информация, попадающая в блок
content
, будет определяться дочерним шаблоном.
Дочерний шаблон не обязан определять каждый блок в своем родителе, так что
в родительских шаблонах можно зарезервировать место для любого количества
блоков, а дочерний шаблон будет использовать столько из них, сколько потребу-
ется.
ПРИМЕЧАНИЕ В коде Python почти всегда используются отступы в четыре пробела .
Файлы шаблонов обычно имеют больший уровень вложенности, чем файлы Python, по-
этому каждый уровень отступа обычно обозначается двумя пробелами . Будьте внима-
тельны и действуйте последовательно .
Дочерний шаблон
Теперь нужно переписать файл
index .html
так, чтобы он наследовал от
base .html
.
Обновленный файл
index .html
выглядит так:
index.html ❶
{% extends "learning_logs/base.html" %}
❷
{% block content %}
Learning Log helps you keep track of your learning, for any topic you're
learning about.
❸
{% endblock content %}
Сравнивая этот файл с исходной версией
index .html
, мы видим, что заголовок
Learning Log заменен кодом наследования от родительского шаблона
. В первой
строке дочернего шаблона должен находиться тег
{%
extends
%}
, который сообщает
Django, от какого родительского шаблона он наследует. Файл
base .html
является