Django viewy - čas tvoriť!

Je čas zbaviť sa toho bugu, čo sme vytvorili v poslednej kapitole! :)

View je miesto, kam dávame "logiku" našej aplikácie. Bude požadovať dáta z modelu, ktorý si už vytvorila, a pošle ich šablóne. Šablónu budeme vytvárať v nasledujúcej kapitole. Viewy sú vlastne len metódy Pythonu, ktoré sú trochu zložitejšie, ako tie, ktoré sme písali v kapitole Úvod do jazyka Python.

Viewy sú umiestnené v súbore views.py. Naše viewy budeme pridávať do súboru blog/views.py.

blog/views.py

OK, otvorme tento súbor v editore a pozrime sa, čo je v ňom:

blog/views.py

from django.shortcuts import render

# Create your views here.

Zatiaľ je tu toho málo.

Ak si spomínaš, riadky začínajúce # sú komentáre - to znamená, že ich Python nespustí.

Vytvorme view, ako nám komentár naznačuje. Pridaj pod komentár nasledovný minimálny view:

blog/views.py

def post_list(request):
    return render(request, 'blog/post_list.html', {})

Ako vidíš, vytvorili sme funkciu (def) nazvanú post_list, ktorá použije request (žiadosť) a return (vráti) metódu render, ktorá vyplní (vyrenderuje) našu šablónu blog/post_list.html.

Ulož súbor, prejdi na http://127.0.0.1:8000/ a pozri sa, čo sa udeje.

Ďalšia chyba! Prečítaj si, o čo ide tentokrát:

Chyba

Ukazuje, že server aspoň znovu beží, ale nie je to úplne ono, že? Neboj sa, je to len chybová stránka, nič, čoho sa treba báť! Podobne ako chyby v konzole nám tieto chyby napovedajú, čo treba robiť. Dočítaš sa, že TemplateDoesNotExist (šablóna neexistuje). Poďme opraviť túto chybu tým, že vytvoríme šablónu v nasledujúcej kapitole!

Viac informácií o Django viewoch získaš v oficiálnej dokumentácii: https://docs.djangoproject.com/en/3.2/topics/http/views/

results matching ""

    No results matching ""