The document discusses using class-based views in Django. It begins with converting a simple "Hello World" function view to a class-based view using the View class. It then covers using the TemplateView to call templates directly. Next, it discusses using the ListView and DetailView classes to display model information, like listing or detailing records. Finally, it introduces the concept of CRUD (Create, Retrieve, Update, Delete) and how Django's class-based views can simplify performing these common data operations on models.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
59 views26 pages
Advanced Django CBV
The document discusses using class-based views in Django. It begins with converting a simple "Hello World" function view to a class-based view using the View class. It then covers using the TemplateView to call templates directly. Next, it discusses using the ListView and DetailView classes to display model information, like listing or detailing records. Finally, it introduces the concept of CRUD (Create, Retrieve, Update, Delete) and how Django's class-based views can simplify performing these common data operations on models.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26
Advanced Django
Class Based Views
Let’s learn something! Django Bootcamp
● Welcome to your first “Advanced” Django
Section. ● In this section we will discuss Class Based Views “CBV” Django
● Previously we’ve created views using
functions, however Django provides really powerful tools to use OOP and classes to define views. Django
● The CBV offers great functionality and for
most experienced users of Django, it is their default choice for creating views. ● It is much easier to understand CBV after working with function views! Django
● We’ll start off with a simple example of a
“Hello World” CBV and then slowly build up to more complex examples and talking about “mix-ins”. ● Let’s get started! CBV - Hello World Let’s learn something! Django
● Let’s convert a simple hello world
function view into a class based view! ● We will use the simplest available Django View Class: ○ from django.views.generic import View Django
● We will also have to slightly change the
way we call a class based view in the urls.py file of our project. ● We need to add in a .as_view() call off the class, this is an inherited method from the View we mentioned earlier. CBV - Template Views Let’s learn something! Django
● Now it is time to learn how to use the
TemplateView that comes with Django. ● It will make calling templates a breeze! ● Let’s see a comparison between using a function to call a template versus the TemplateView! Django
class IndexView(TemplateView): template_name = 'index.html' Django
● Let’s show the basics of this and then
show how to use a Template CBV along with a context dictionary. List Views and Detail Views Let’s learn something! Django
● We’ve learned how to use CBVs to
directly show a template, but what about models? ● Often when we have models, we want to either list the records from the model, or show details of a single record. Django
● Previously we did this with calls using
the Object Relation Mapper directly ● This included things like: ○ MyModel.objects.all() ● However these sort of operations are very common! Django
● So common that Django has some
generic view classes you can inherit to very quickly display information from your model. ● This is where the power of CBV comes to help us out! Django
● In this lecture we will quickly create:
○ New Models ○ New Templates ● Then we will focus on: ○ ListView ○ DetailView Django
● Previously we’ve been putting all our
templates inside the templates folder within the matching app folder. ● However it is also common practice to do the “reverse”, have a template folder inside the app’s folder. Django
● We’ll show an example of doing that in
this lecture as well. ● Let’s get started! CRUD Let’s learn something! Django
● You may have heard the term “CRUD”
before in web development, but what does it actually mean? ● Contrary to what you might think, it stands for Create Retrieve Update Delete ● CRUD is inherent to almost every website! Django
● Whenever you work with models and
databases you will need to perform those four basic actions. ● Luckily, Django has class based views to simplify this entire process for you! Django
● We’ll start off by exploring how to use the
CreateView class. ● Note! While we are using the CreateView class we will purposefully induce a few errors to clarify where certain variable names are coming from! Django
● Once we’ve worked with the CreateView
class, working with the UpdateView and DeleteView classes will be very straightforward. Django
● A quick note: there will be a lot of
interaction between your urls.py, views.py, models.py, and template files! ● If you get stuck on an error triple-check that your code matches the notes exactly! Django
● The nature of the interaction between all
the files will make it almost impossible to give good help on this in the QA! ● So follow along with the video, and check against the notes! ● Let’s get started!