In this session, we continued working on the Student Management System project and focused on implementing ModelForms, connecting them with views, handling GET & POST requests, and saving data into the database using Django’s built-in features.
Topics Covered in This Session
1. Introduction to ModelForm
Explained what ModelForm is and why it is used
Difference between forms.Form and forms.ModelForm
How ModelForm automatically connects form fields with model fields
2. Creating ModelForms (forms.py)
We created ModelForms for the following models:
CountryForm
StateForm
QualificationForm
GenderForm
UniversityForm
StudentForm
Key points explained:
Use of Meta class
model attribute
fields = '__all__' vs selective fields
How ForeignKey fields automatically appear as dropdowns
3. URL Configuration (urls.py)
Created URL patterns for:
country/
state/
Explained how URLs connect browser requests to view functions
Importance of name attribute for redirection
4. Handling Requests in Views (views.py)
GET Request
Displaying empty forms to the user
Rendering HTML templates with form objects
Passing data using context dictionary
POST Request
Receiving submitted form data
Validating form using is_valid()
Saving data into database using form.save()
Redirecting after successful submission
Re-rendering form with errors if validation fails
5. Country Form Workflow
Display Country form
Submit Country data
Save Country records into database
Redirect back to Country page after successful save
6. State Form Workflow
Display State form
Handling ForeignKey relationship with Country
Saving State data linked to selected Country
Understanding how relational data works in forms
7. HTML Template Explanation
Form creation using Django Template Language
Use of:
{% csrf_token %}
{{ form }}
Basic HTML form structure
Importance of CSRF protection in Django
Problem Section (What Students Usually Struggle With)
Confusion between ModelForm vs normal Form
Not understanding why Meta class is required
Forgetting to handle GET and POST separately
Errors when ForeignKey data is missing
CSRF token related errors
Form not saving due to missing is_valid() check
Page refreshing instead of redirecting after submit
What Students Learned from This Session
How to convert models directly into forms
How Django reduces boilerplate code using ModelForms
How data flows from HTML → View → Database
Practical understanding of CRUD (Create part)
Real-world project structure followed in Django
Session Outcome
By the end of this session, students were able to:
Create and use ModelForms
Handle form submission properly
Save relational data into database
Build scalable form-based features for real projects
🌟 About BasicToTop
BasicToTop is here to help you move forward — from basic to top.
🔔 Subscribe for more Django tutorials
👍 Like the video if it helped you
💬 Comment your doubts — I reply personally
Website: https://basictotop.in
Github: https://github.com/BasicToTop
Facebook: / basictotopfbpage
Instagram: / basictotop
#django #python #webdevelopment #beginnerdjango #basictotop #BasicToToop