FormView – Class Based Views Django
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 geeks.
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 geeks/forms.py,
After creating the form let’s create FormView. in geeks/views.py,
Create a template for this view in geeks/geeksmodel_form.html,
Map a url to this view in geeks/urls.py,
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 geeks/views.py,
One can perform desired functionality in form_valid function. In our case, it prints the data. Lets’ try entering data in the form and check if it is working.
Check in terminal if details have been printed.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course