Class-Based Views vs Function-Based Views: co a kdy použít
Porovnání Class-Based Views (CBV) a Function-Based Views (FBV) v Django — jejich výhody, nevýhody a doporučení pro různé typy úloh. Ukážeme i konkrétní příklady.
Class-Based Views vs Function-Based Views: co a kdy použít
Django podporuje dva přístupy k psaní view — funkční i objektové. Oba mají své místo; pojďme si je porovnat a ukázat, kdy je lepší který použít.
Function-Based Views (FBV)
FBV jsou přímé a jednoduché, ideální pro malé, jednorázové endpointy:
def hello(request): return HttpResponse('Ahoj')Class-Based Views (CBV)
CBV poskytují opětovné použití a rozšiřitelnost pomocí dědičnosti a mixinů. Např. generické CBV pro CRUD:
from django.views.generic import ListView\nclass PostListView(ListView): model = Post template_name = 'posts/list.html'
Doporučení
- Použij FBV pro jednoduché view bez opakující se logiky.
- Použij CBV pokud chceš využít dědičnost, mixiny a generické pohledy.
- Kombinuj — není nutné se rozhodovat pouze pro jednu cestu.
V příštím článku si ukážeme, jak napsat a použít vlastní middleware.
@admin
13. července 2025
Komentáře
0