Django Class Based Views Unleashed
Django Class Based Views (CBVs) are an important part of using Django effectively. CBVs help us eliminate redundant code across our entire application and stay DRY while using CRUD and CRUD-like views.
Here's a basic example:
python
def my_home_view(request):
return render(request, 'home.html', {})
Becomes
python
class MyHomeView(View):
def get(self, request, *args, **kwargs):
return render(request, 'home.html', {})
my_home_view = MyHomeView.as_view()
This, of course, isn't ground breaking. How about a detail view? or a List view?
python
class SomeModelListView(ListView):
model = SomeModel
python
class SomeModelDetailView(DetailView):
model = SomeModel
These two classes provide us a default template, a default lookup (for a QuerySet or object lookup), and default template context. These defaults can be reused for any model in your project.
This series will explore all of above and much more.
Recommend Experience
- Any Try Django series
Reference code
Lessons
1
Welcome
0:00
2
Base Django Project
0:00
3
Function View & Base Class View
0:00
4
Django TemplateView
0:00
5
Django Basic RedirectView
0:00
6
Product Model Class
0:00
7
ListView & DetailView
0:00
8
Get Context Data
0:00
9
Proxy Model to Grasp Template Context
0:00
10
Create a Basic Mixin
0:00
11
Recreate a ListView via Mixins
0:00
12
Recreate a DetailView via Mixins
0:00
13
RedirectView Based on Model Instance
0:00
14
Login Required Mixin & Decorator
0:00
15
Django Model Form
0:00
16
CreateView
0:00
17
View with FormMixin
0:00
18
UpdateView the Hard Way
0:00
19
UpdateView & DeleteView
0:00
20
Thank you & next steps
0:00