FormView refers to a view (logic) to display and verify a Django Form. For example a form to register users at geeksforgeeks. Class-based views provide an alternative way to implement views as Python objects instead of functions. They do not replace function-based views, but have certain differences and advantages when compared to function-based views:
- Organization of code related to specific HTTP methods (GET, POST, etc.) can be addressed by separate methods instead of conditional branching.
- Object oriented techniques such as mixins (multiple inheritance) can be used to factor code into reusable components.
Class based views are simpler and efficient to manage than function-based views. A function based view with tons of lines of code can be converted into a class based views with few lines only. This is where Object Oriented Programming comes into impact.
Django FormView – Class Based Views
Illustration of How to create and use FormView using an Example. Consider a project named
geeksforgeeks having an app named
Refer to the following articles to check how to create a project and an app in Django.
After you have a project and an app, let’s create a form of which we will be creating FormView. In
After creating the form let’s create FormView. in
Create a template for this view in
Map a url to this view in
Now visit http://127.0.0.1:8000/,
Validate Form Data in Form View
Class Based Views provide in built functions for validating data in form. In
One can perform desired functionality in form_valid function. In our case, it prints the data. Lets’ try entering data in the form and ceck if it is working.
Check in terminal if details have been printed.
- DetailView - Class Based Views Django
- UpdateView - Class Based Views Django
- ListView - Class Based Views Django
- Createview - Class Based Views Django
- DeleteView - Class Based Views Django
- Class Based Generic Views Django (Create, Retrieve, Update, Delete)
- List View - Function based Views Django
- Detail View - Function based Views Django
- Create View - Function based Views Django
- Update View - Function based Views Django
- Delete View - Function based Views Django
- Django CRUD (Create, Retrieve, Update, Delete) Function Based Views
- Views In Django | Python
- Render a HTML Template as Response - Django Views
- Creating views on Pandas DataFrame | Set - 2
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.