Function-based views (FBV): Simple functions that take request and return response
def article_list(request):
articles = Article.objects.all()
return render(request, 'articles/list.html', {'articles': articles})
Class-based views (CBV): Classes that inherit from Django's view classes
from django.views.generic import ListView
class ArticleListView(ListView):
model = Article
template_name = 'articles/list.html'
context_object_name = 'articles'
CBVs provide more structure and reusability, while FBVs are simpler and more explicit.