Django, populární webový framework napsaný v Pythonu, nabízí ucelený přístup k vývoji webu. Jednou ze základních komponent Django aplikací jsou pohledy, neboli views, které slouží jako most mezi databází a šablonami. Pohledy definují, jaká data se mají získat a jak se mají zobrazit uživatelům. V tomto článku si ukážeme, jak pohledy vytvářet, konfigurovat a používat pro efektivní vývoj webových aplikací.
Základy pohledů
Pohled v Django je Python funkce nebo třída, která přijímá webovou požadavek a vrací webovou odpověď. Pohled může provádět řadu úloh, včetně zpracování formulářů, přístupu k databázi, generování PDF souborů nebo jednoduše vracení HTML odpovědi.
Vytvoření jednoduchého pohledu
Začneme s nejjednodušším příkladem - funkcí pohledu, která vrátí HTML odpověď. V souboru views.py
vaší aplikace Django přidejte následující funkci:
from django.http import HttpResponse
def home(request):
return HttpResponse("Vítejte na naší domovské stránce!")
Tuto funkci pak musíte připojit k URL vaší aplikace v souboru urls.py
:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
Použití šablon
Pro dynamické Webové stránky je vhodné používat Django šablony. Pohled může načíst šablonu, předat ji kontext (slovník proměnných) a vrátit vyrenderovaný HTML kód. Příklad pohledu používajícího šablonu:
from django.shortcuts import render
def product_list(request):
products = Product.objects.all() # Představme si, že máme model Product
return render(request, 'product_list.html', {'products': products})
Třídní pohledy
Pro komplexnější logiku můžete použít třídní pohledy. Django nabízí řadu vestavěných tříd pro běžné úkoly, jako jsou formuláře, seznamy, detaily objektů a další. Třídní pohled pro zobrazení seznamu produktů by mohl vypadat takto:
from django.views.generic import ListView
from .models import Product
class ProductListView(ListView):
model = Product
template_name = 'product_list.html'
Pohledy jsou klíčovou součástí každé Django aplikace, umožňují flexibilní zpracování požadavků a snadné zobrazování odpovědí. S funkcemi a třídami pohledů můžete efektivně řešit různé vývojářské výzvy. Experimentujte s různými typy pohledů a najděte nejlepší řešení pro vaše projekty.