Debug School

rakesh kumar
rakesh kumar

Posted on

Django:Base views

class-based-views
templateview

Base views
The following three classes provide much of the functionality needed to create Django views. You may think of them as parent views, which can be used by themselves or inherited from. They may not provide all the capabilities required for projects, in which case there are Mixins and Generic class-based views.

Many of Django’s built-in class-based views inherit from other class-based views or various mixins. Because this inheritance chain is very important, the ancestor classes are documented under the section title of Ancestors (MRO). MRO is an acronym for Method Resolution Order

Image description

View
class django.views.generic.base.View¶
The base view class. All other class-based views inherit from this base class. It isn’t strictly a generic view and thus can also be imported from django.views.

Method Flowchart

setup()
dispatch()
http_method_not_allowed()
options()
Enter fullscreen mode Exit fullscreen mode

Example views.py:

from django.http import HttpResponse
from django.views import View

class MyView(View):

    def get(self, request, *args, **kwargs):
        return HttpResponse('Hello, World!')
Example urls.py:
Enter fullscreen mode Exit fullscreen mode
from django.urls import path

from myapp.views import MyView

urlpatterns = [
    path('mine/', MyView.as_view(), name='my-view'),
]
Enter fullscreen mode Exit fullscreen mode

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Image description

Top comments (0)