411 views.py from django.shortcuts import render
# Создайте здесь свои представления.
Сейчас файл только импортирует функцию
render()
, которая генерирует ответ на
основании данных, полученных от представлений. Откройте файл представления
и добавьте следующий код домашней страницы:
from django.shortcuts import render
def index(request):
"""Домашняя страница приложения Learning Log"""
return render(request, 'learning_logs/index.html')
Если URL запроса совпадает с только что определенной схемой, Django ищет
в файле
views .py
функцию с именем
index()
, после чего передает этой функции
представления объект
request
. В нашем случае никакая обработка данных для
страницы не нужна, поэтому код функции сводится к вызову
render()
. Функция
render()
использует два аргумента — исходный объект запроса и шаблон, исполь-
зуемый для построения страницы. Давайте напишем этот шаблон.
Написание шаблона
Шаблон определяет общий внешний вид страницы, а Django заполняет его соот-
ветствующими данными при каждом запросе страницы. Шаблон может обращаться
к любым данным, полученным от представления. Так как наше представление
домашней страницы никаких данных не предоставляет, шаблон получается от-
носительно простым.
В каталоге
learning_logs
создайте новый каталог с именем
templates
. В каталоге
templates
создайте другой каталог с именем
learning_logs
. На первый взгляд такая
структура кажется избыточной (каталог
learning_logs
в каталоге
templates
внутри
каталога
learning_logs
), но созданная таким образом структура будет однозначно
интерпретироваться Django даже в контексте большого проекта, состоящего из
множества отдельных приложений. Во внутреннем каталоге
learning_logs
создай-
те новый файл с именем
index .html
(таким образом, полное имя файла имеет вид
learning_log/learning_logs/templates/learning_logs/index .html
). Включите в него следу-
ющий текст:
index.html Learning Log
Learning Log helps you keep track of your learning, for any topic you're
learning about.
Это очень простой файл. Если вы не знакомы с синтаксисом HTML, теги
обозначают абзацы. Тег
открывает абзац, а тег
закрывает его. В нашей стра-