Django
Class-Based Views
Use generic class-based views for common CRUD flows.
By EZ4Code Team
viewscbvcrud
Code
from django.views.generic import ListView, DetailView, CreateView
from django.urls import reverse_lazy
from .models import Article
from .forms import ArticleForm
class ArticleListView(ListView):
model = Article
template_name = "articles/list.html"
context_object_name = "articles"
paginate_by = 10
class ArticleDetailView(DetailView):
model = Article
template_name = "articles/detail.html"
class ArticleCreateView(CreateView):
model = Article
form_class = ArticleForm
success_url = reverse_lazy("article-list")Explanation
Generic class-based views handle repetitive CRUD logic with minimal boilerplate. ListView paginates a queryset, DetailView loads a single object by pk, and CreateView validates a form and persists on success. Template names and context variable names can be overridden as class attributes.
More Django Snippets
Model Definition
Define a Django model with field types and meta options.
ORM QuerySet
Filter, exclude, annotate and chain QuerySets.
URL Routing
Wire URLs to views with path converters and includes.
ModelForms
Build forms from models with validation and widgets.
Template Tags
Use built-in tags and filters in Django templates.
Admin Customization
Customize the Django admin with list_display and actions.