Django Lms

screenshot of Django Lms

Django Lms

A learning management system using django web framework. Course add and drop, grade and assessment result management, online quiz, report generator, student and lecturers management, dashboard, and so much more...


This article discusses a feature-rich learning management system built using the Django web framework. The system is designed for creating a school management system or for individuals looking to learn the tech stack and build their portfolio. The project offers various features for administrators, students, and lecturers, including the ability to add students and lecturers, enroll and drop courses, submit scores for students, and generate registration slips and grade results for students. The system also includes features such as randomizing question orders, displaying correct answers, and allowing users to return to an incomplete quiz. The article concludes by inviting future contributors to implement items from the TODO list.


  • News and Events: Provides a feature for administrators to add news and events.
  • Student and Lecturer Management: Allows administrators to add students and lecturers to the system.
  • Course Enrollment: Enables students to add and drop courses.
  • Score Submission: Gives lecturers the ability to submit students' scores for various assessments.
  • Automatic Calculation: Automatically calculates students' total, average, point, and grade.
  • Pass Status: Informs students whether they have passed, failed, or passed with a warning.
  • Upload Documents and Videos: Allows users to upload course-related documents and videos.
  • PDF Generator: Generates registration slips and grade results in PDF format.
  • Quiz Features: Includes features such as randomization of question orders, display of correct answers, incomplete quiz handling, one attempt per user, category success rate monitoring, and explanation for question results.
  • Customization: Enables customization of messages displayed to individuals who pass or fail quizzes, and allows users with specific permissions to view quiz results.


To install the learning management system, follow these steps:

  1. Clone the repository using the command: git clone <repository-url>
  2. Create and activate a python virtual environment.
  3. Create a .env file in the root directory of the project and include the necessary variables.
  4. Install the required programs, including Python 3.8+ and PostgreSQL database.
  5. Access the system by going to the address


This article introduces a feature-rich learning management system developed using the Django web framework. The system offers various features for administrators, students, and lecturers, including student and lecturer management, course enrollment, score submission, automatic calculation of grades, and quiz features. The installation guide provides steps to install and run the system. Overall, this project serves as a good starting point for building a learning management system or learning the Django web framework.


Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. It follows the model-view-controller (MVC) architectural pattern, providing an extensive set of built-in tools and conventions to streamline the creation of robust and scalable web applications.


Bootstrap is the most popular CSS Framework for developing responsive and mobile-first websites.


A dashboard style website template is a pre-designed layout that features a user interface resembling a control panel or dashboard. It typically includes charts, graphs, tables, and other data visualization tools that allow users to monitor and analyze data in real-time.