Построение других страниц
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):
...