М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет303/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   299   300   301   302   303   304   305   306   ...   334
Байланысты:
Изучаем Python


частью 
learning_logs
, поэтому 
learning_logs
включается в путь к родительскому 
шаблону. Эта строка извлекает все содержимое из шаблона 
base .html
и позволяет 
index .html
определить, что должно попасть в пространство, зарезервированное 
блоком 
content
.


Построение других страниц
415
Блок 
content
определяется в точке 

вставкой тега 
{%
block
%}
с именем 
content
. Все, 
что не наследуется от родительского шаблона, попадает в блок 
content
. В данном 
случае это абзац с описанием проекта Learning Log. В точке 

мы сообщаем о том, что 
определение 
content
завершено, при помощи тега 
{%
endblock
content
%}
. Наличие 
имени у 
{%
endblock
%}
не обязательно, но если шаблон увеличится и станет вклю-
чать несколько блоков, будет полезно сразу видеть, какой именно блок завершается.
Вероятно, вы уже начинаете понимать преимущества наследования шаблонов: 
в дочерний шаблон достаточно включить информацию, уникальную для этой 
страницы. Такой подход не только упрощает каждый шаблон, но и значительно 
упрощает изменение сайта. Чтобы изменить элемент, общий для многих страниц, 
достаточно изменить элемент в родительском шаблоне. Внесенные изменения бу-
дут автоматически перенесены на каждую страницу, наследующую от этого шабло-
на. В проекте из десятков и сотен страниц такая структура значительно упрощает 
и ускоряет доработку сайта.
ПРИМЕЧАНИЕ
В больших проектах часто создается один родительский шаблон 
base .
html
для всего сайта и родительские шаблоны для каждого крупного раздела сайта . Все 
шаблоны разделов наследуют от base .html, и каждая страница сайта наследует от ша-
блона раздела . При такой структуре вы сможете легко изменять оформление и поведе-
ние сайта в целом, любого его раздела или отдельной страницы . Данная конфигурация 
сильно повышает эффективность работы и стимулирует разработчика к дальнейшему 
совершенствованию сайта .
Страница со списком тем
Разобравшись с тем, как эффективно организовать построение страниц, мы можем 
сосредоточиться на следующих двух страницах: списке всех тем и списке записей 
по одной теме. На странице тем выводится перечень всех тем, созданных пользо-
вателями, и это первая страница, на которой нам придется работать с данными.
Схема URL для тем
Сначала нужно определить URL для страницы тем. Обычно в таких случаях 
выбирается простой фрагмент URL, который отражает суть информации, пред-
ставленной на странице. Мы воспользуемся словом 
topics
, так что для получения 
страницы будет использоваться URL 
http://localhost:8000/topics/
. А вот какие изме-
нения следует внести в 
learning_logs/urls .py
:
urls.py
"""Определяет схемы URL для learning_logs."""
...
urlpatterns = [
# Домашняя страница
path('', views.index, name='index'),
# Страница со списком всех тем.

path('topics/', views.topics, name='topics'),
]


416

Достарыңызбен бөлісу:
1   ...   299   300   301   302   303   304   305   306   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет