Книга «Изучаем Python»



Pdf көрінісі
бет243/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   239   240   241   242   243   244   245   246   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

ПРИМЕЧАНИЕ
В больших проектах часто создается один родительский шаблон base .html для всего сайта и ро-
дительские шаблоны для каждого крупного раздела сайта . Все шаблоны разделов наследуют 
от base .html, и каждая страница сайта наследует от шаблона раздела . При такой структуре вы смо-


Построение других страниц
401
жете легко изменять оформление и поведение сайта в целом, любого его раздела или отдельной 
страницы . Данная конфигурация сильно повышает эффективность работы и стимулирует разработ-
чика к дальнейшему совершенствованию сайта .
Страница со списком тем
Разобравшись с тем, как эффективно организовать построение страниц, мы можем 
сосредоточиться на следующих двух страницах: списке всех тем и списке записей 
по одной теме. На странице тем выводится перечень всех тем, созданных пользо-
вателями, и это первая страница, на которой нам придется работать с данными.
Схема URL для тем
Сначала нужно определить URL для страницы тем. Обычно в таких случаях 
выбирается простой фрагмент URL, который отражает суть информации, пред-
ставленной на странице. Мы воспользуемся словом 
topics
, так что для получения 
страницы будет использоваться URL 
http://localhost:8000/topics/
. А вот какие из-
менения следует внести в 
learning_logs/urls .py
:
urls.py
"""Определяет схемы URL для learning_logs."""
...
urlpatterns = [
# Домашняя страница
url(r'^$', views.index, name='index'),
# Вывод всех тем.
 
url(r'^topics/$', views.topics, name='topics'),
]
Мы просто добавили 
topics/
в аргумент регулярного выражения, используемый 
с URL-адресом домашней страницы 

. Когда Django проверяет запрашиваемый 
URL-адрес, эта схема совпадет с любым URL-адресом, который состоит из базо-
вого URL-адреса и слова 
topics
. Косую черту в конце можно включить, можно 
не включать, но после слова 
topics
ничего быть не должно, иначе схема не совпа-
дет. Любой запрос с URL-адресом, соответствующим этой схеме, будет передан 
функции 
topics()
в 
views .py
.
Представление topics
Функция 
topics()
должна получать данные из базы данных и отправлять их ша-
блону. Обновленная версия 
views .py
выглядит так:
views.py
from django.shortcuts import render

from .models import Topic
def index(request):
...


402

Достарыңызбен бөлісу:
1   ...   239   240   241   242   243   244   245   246   ...   266




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

    Басты бет