Представления в Django – время создавать!
Пришло время избавиться от ошибки, на которую мы наткнулись в прошлой главе :)
view, или представление, — это то место, где мы разместим «логику» работы нашего приложения. Оно запросит информацию из модели
, которую мы создали ранее, и передаст её в шаблон
. Шаблонами мы займёмся в следующей главе. Представления похожи на методы в Python и лишь немногим сложнее того, с чем мы уже сталкивались в главе Введение в Python.
Представления размещаются в файле views.py
. Мы добавим свои представления в файл blog/views.py
.
blog/views.py
Хорошо, давай откроем этот файл и посмотрим на его содержимое:
blog/views.py
from django.shortcuts import render
# Create your views here.
Не слишком много кода.
Помнишь, что строки, начинающиеся с символа #
— это комментарии? То есть Python не будет пытаться запустить их содержимое.
Простейшее представление может выглядеть следующим образом.
blog/views.py
def post_list(request):
return render(request, 'blog/post_list.html', {})
Как ты можешь заметить, мы создали функцию (def
) с именем post_list
, которая принимает request
в качестве аргумента и возвращает (return
) результат работы функции render
, которая уже соберёт наш шаблон страницы blog/post_list.html
.
Сохрани файл, перейди по адресу http://127.0.0.1:8000/ и посмотри, что у нас получилось.
Другая ошибка! Читаем, что произошло:
Это значит, что, по крайней мере, сервер снова работает, но что-то всё же пошло не так, верно? Не беспокойся, это просто страница с сообщением об ошибке, бояться совершенно нечего! Как и сообщения об ошибках в консоли, такие страницы чрезвычайно полезны. Здесь ты можешь прочесть: TemplateDoesNotExist — такого шаблона не существует. Давай исправим ошибку и создадим шаблон в следующей главе!
Подробнее о представлениях в Django можно узнать из официальной документации: https://docs.djangoproject.com/en/1.11/topics/http/views/