Django Based School Learning Management System


Developer: Somveer




Share on social Media:

Web development is one of the most sought after job in today's world. Anyone familiar with the process of web development can understand how hard it is to develop a website from scratch. Keeping this in mind, I tried to make a video where I guide all the process that are involved in web development. I have used django framework and we will see how to create a django project and deploy it on free hosting services. 

The video contains 9 parts where we go through the steps one by one. Each heading is linked to individual video in case you don't want to see the complete video and want to know how some of the things are done. 

Part1: Demo

In the first part of the video, we go through the website. We see how the website looks like when it is finally completed. We get to see features like making a custom user model for registering students and teachers separately. Allowing superusers or the teachers to upload chapters and files to the course. We see the structure of the website. 

Part 2: Creating custom user models

We start by creating a simple django project in a virtual environment. we get to see the very basics of django project like creating a application and settings up URL mapping for each application. As we are setting up user models, we need to set media directory where the user will provide the profile picture and that will be stored on our machine in specified path. We see the model finction of the django which is basically a table that will contain all the information about user like name, user_type, profile pic etc. and finally we come to know how we can take input from users in form of data and images and save it into our database. 

Part 3: Forms and Templates

In this part we get to see how the information is presented from the django backend to the frontend for the users. We come across the forms that will be shown as fields to the users to fill in the information and that will be conveyed to our database using views from django. The backend of the django deals with the information processing and URL mapping, meaning how information is coming from the html pages and how it is processed. The 'what' part of the equation comes into light when we see how to setup templates that behaves as a medium to pass information from back-end to front-end and vice-versa. Templates are basically HTML pages that can be modified as per our requirement. Once user can see information on the html pages through templates, then we move on to authenticating the users when they register and login. This part of the video somewhat behaves as link between the backend and front-end. At the end of this part we see how we can send modified information from our views in back-end to the front-end which is known as django template tagging. 

Views are an integral part of django backend. There are various ways we can use views and one of the best ways i like to handle views is using the class-based views from django. 

Part 4: Custom models to store and show information

In this part of the video, we explore the database side of the web development. We get to see how the tables(models) are created in django project and how we integrate sqlite with django. We can provide different fields like Char Field, Text Field, Image Field etc. into our models and those will be stored in form of tables in our sqlite which is integrated into the django. Each model has a primary key that is used to identify the object of the model. Since python is object oriented programmin, we mostly deal with classes and their instances here also. That being said, a model is also a class in django. 

Part 5:Using class based views in django

Since web development is no easy task, the creators of django came up with a cool feature where most of our work is already done with the classes that handle views which in turn handles all the backend load. There are some basic views like TemplateView, View that makes it easy to write a view in just 2 lines. Class based views are themselves very vast and it would be injustice to them if i try to explain them with less words. Once the models are created and the the views are set using the class based views, we are not ready to put the model information into our templates using something called as context data. This context is a dictionary of the values that we want to send to the template using the views that will be shown on out html files. 

Part 6: CRUD Views

CRUD basically is short for Create, Retrieve, Update and Delete views. These are a kind of extension to the class based views but mostly deals with the models that contain all of our data. Those who are not aware of SQL commands and don't want to know about that, this feature helps them a lot like myself. We just have to give what model we want to change and everything else is handled by these views.

Part 7: Comments and replies for our app

By now, we have seen how the information flows from backend to frontend and the skeleton of our website is almost ready. In this part we see how the comments and reply system is implemented using django. We all are aware about the importance of the comments on something because that behaves as a feedback and also motivation to build up. On that note, Don't forget to write down a comment below. 

Part 8: Crispy forms and CSS styling

When we reach this part, we are done with all the feature and functionalities that we want to include in our website. This part is all about the styling that we can give to our app. First one is using django crispy forms which gives a good look to our forms which were dull in default format. Then we dive into the vast sea of styling that is CSS, which is no doubt one of the main aspects of web development. Nobody wants to look at a site that is ugly which is why we take help of basic CSS to make our site look better. 

Part 9: Deploying our django app

This is the last and again one of the important part in our web development cycle. We have designed the app to communicate with frontend and backend and we have styled our site but what's the use if nobody else can see this. So we try to learn the basics of deployment cycle when we upload our site to It provides very good interface for newbies who are just getting into web development and want to experience the deployment process to learn. There are other free and paid deployment sites like heroku and AWS but for beginners i suggest python anywhere is best choice as it provides a smooth process to understand. 

Voila, We are done with our project and we have successfully deployed our site on python You can find the document links below: 

Live site: Live site demo on pythonanywhere

Get the code on Github: Github code

Connect with me on Fiverr to get a customized website

Please leave your comments and throw a like on the project if it was helpful. Don't forget to follow us on social media links for more content.


Lets have a coffee if you liked the Project.

Buy me a coffee



Thank you for this tutorial. Really helped me to understand how to develop Django Project.


hi bro is there any possiblity to add assignments section and create assignments for students by teacher

Prakash Saravanan

Excellent Work, thanks a lot bro

Gayathri ravi

Hi, really this is very helpful, but when I face some challenges while creating a project I was stuck thereitself, please provide some point of contact so that we can clear our doubts soon ,Thanks in advance

somveer singh

Hi Gayathri, Thanks for pointing this out. The video is out on youtube where you can contact the developers, through Facebook which is on the right-hand side of this page and one good way of connecting is to raise an issue on the GitHub page itself. Although, anyone can reach out to for any help. Hope this helps.


It is a good project. Can I connect with you for backend work.


how u get the 6th 7th 8th .......classes? which u havent decleared anywhere in the project ....and the names of the subjects too like prabality etc all

Dhiraj patel



Thanks great work!!!

Vora Mihir

It is a good project. Can I connect with you for backend work.


Regularly at the pc? It is bound that you do not use it to the most. It can be time for you to suitable it and to begin to get revenue! A stage 1 — put in the CryptoTab browser, a phase two — use it every day, 3 — get paid a action and simply you take away BTC at any time. Start out <a href=""></a> right now cryptotab browser booster


Why not try order a custom-written essay from us? <a href=>Paper Help</a> research paper critique senior project research paper how to create a business plan for a small business problem solving approach in education tips of writing an essay


Best custom-written essays at <a href=>Paper Help</a>. From $10 per page! cause and effect essay rubric computer research paper is homework really necessary stock assignment net neutrality essay


<a href=>how to write a farm business plan</a> <a href=>dissertation software</a> <a href=>essay on penguins</a> <a href=>attention grabber essay</a> <a href=>acknowledgement assignment</a> <a href=>my hero essay examples</a> <a href=>creative writing ma</a> <a href=>meaning of literature review</a> m=dgfh-4346


<a href=>catchy research paper titles</a> <a href=>essay about obama</a> <a href=>business plan for a pharmacy</a> <a href=>creative writing berkeley</a> <a href=>how to start a proposal essay</a> <a href=>descriptive essay winter</a> <a href=>claim of fact essay topics</a> <a href=>examples of a persuasive essay</a> m=dgfh-4346


<a href=>law dissertation ideas</a> <a href=>examples of argumentative essays for kids</a> <a href=>photographic assignments</a> <a href=>thanksgiving lined writing paper</a> <a href=>one hundred great essays</a> <a href=>online creative writing classes for adults</a> <a href=>research paper on animals</a> <a href=>self description essay</a> m=dgfh-4346


<a href=>how to write a good compare contrast essay</a> <a href=>abortion definition essay</a> <a href=>format of argumentative essay</a> <a href=>argumentative essay same sex marriage</a> <a href=>reflective essay ideas</a> <a href=>business continuity plan for it</a> <a href=>essay plagiarism</a> <a href=>how to write a university research paper</a> m=dgfh-4346

Post your comments here:

Latest Uploads

Latest Tags