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