Class-based views (CBVs) implement views as Python classes instead of functions, enabling reuse through inheritance and mixins. Generic views are built-in CBVs that handle common patterns (listing, detail, create/update/delete) with minimal code — dramatically reducing boilerplate for standard CRUD.
Function-based vs class-based
():
articles = Article.objects.()
render(request, , {: articles})
django.views.generic ListView
():
model = Article
template_name =
context_object_name =
