VOOZH about

URL: https://www.geeksforgeeks.org/python/college-management-system-using-django-python-project/

⇱ College Management System using Django - Python Project - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

College Management System using Django - Python Project

Last Updated : 9 Apr, 2026

In this article, we are going to build College Management System using Django and will be using dbsqlite database. In the times of covid, when education has totally become digital, there comes a need for a system that can connect teachers, students, and HOD and that was the motivation behind building this project.

This project allows HOD, staff and students to register themselves. This project has three interfaces.

1. For Head Of Department(HOD):

The below image shows the interface for the Head of Departments of the College:

👁 Image
HOD Interface

2. For Staff:

The below image shows the interface for the Staff of the College:

👁 Image
Staff Interface

3. For Students:

The below image shows the interface for the Students of the College:

👁 Image
Student Interface

Tools and Technologies Used in the Project:

  1. HTML
  2. CSS
  3. JAVASCRIPT
  4. JQUERY
  5. BOOTSTRAP
  6. DJANGO

Required Skillset to Build the Project:

Basic knowledge of HTML, CSS, JavaScript, and Django.

Step By Step Implementation

Follow the below steps to implement the discussed project:

Step 1: Install Django.

Step 2: Create a folder with the name College_Management_System and open it with VS Code.

Step 3: Open the terminal and create a new project "student_management_project" using the below command.

django-admin startproject student_management_project

Step 4: Enter inside the folder "student_management_project" and create the app "student_management_app".

python manage.py startapp student_management_app

Step 5: Go to student_management_project -> settings.py -> INSTALLED_APPS and add our app 'student_management_app'.

👁 Image
App successfully added

Step 6: Go to urls.py of student_management_project and add the below path in urlpatterns. (Note - Import include as from django.urls import path, include)

path('', include('student_management_app.urls'))

Step 7: Now enter the views that are going to use in views.py of student_management_app.

Step 8: Create or Go to urls.py of student_management_app and add the following URLs.

Step 9: Now create a file StudentViews.py. It contains the views that are used on the student Interface.

Step 10: Now add the StaffViews.py. It contains the views of the staff interface.

Step 11: Now add the HodViews.py. It contains the views of the HOD interface.

Step 12: Now add models.py to our project. It stores all the models that will be used in our project. 

Step 13: Go to student_management_project -> setting and add AUTH_USER_MODEL = 'student_management_app.CustomUser'.

👁 Image
Custom user configured

Step 14: Now create forms.py

Step 15: Now register the models in admin.py

Step 16: Now Create a new folder as templates which includes Student_template, Hod_template, Staff_template folders. It contains the different templates used in each interface.
Create another folder as static which also includes some files. ( Note - All these folders must be in student_management_project ).

👁 Image
Folder structure initialized

Step 17: Add media, static URLs, and root path. 

import os

MEDIA_URL="/media/"
MEDIA_ROOT=os.path.join(BASE_DIR,"media")

STATIC_URL="/static/"
STATIC_ROOT=os.path.join(BASE_DIR,"static")
👁 Image
Static media configured

Step 18: Now create a base.html page.

Step 19: Now create a home.html page of our project in the student_management_app\templates folder.

Output:

👁 CMS_output
Snapshot of the Output

Step 20: Now create a registration.html page where students, staff, HOD can register themselves.

Output:

👁 Image
REGISTRATION PAGE

Step 21: Now create a login_page.html where students, staff, HOD can log in themselves.

Output:

👁 Image
LOGIN page

Step 22: Create contact.html 

Step 23: Run these commands to migrate your models into the database. When you successfully do all the steps you will get this type of output in CMD.

python manage.py makemigrations

👁 Image

python manage.py migrate

👁 Image

Project Overview:

Comment