This device is not compatible.


Creating an E-learning Website Using Django

In this project, we’ll create an e-learning course catalog website with a built-in search functionality. We’ll develop it as a web application using the Django framework and the SQLite database engine. By the time we’re done with this project, we’ll have a fully functional e-learning website built on Django.

Creating an E-learning Website Using Django

You will learn to:

Apply the fundamentals of Django.

Create and use a database using SQLite.

Write dynamic HTML with Bootstrap.

Use Model-View-Controller (MVC) architecture.

Configure routes, models, views, and controllers.

Bind SQLite with Django.


Web Frameworks

Web Development


Intermediate knowledge of Django and templates

Basic understanding of Python3

Basic understanding of SQLite

Basic understanding of MVC patterns




Project Description

In this Django project, we will develop an e-learning course catalog to display the list of all courses on the website. Each course will have:

  • A title
  • An image
  • An author-name
  • A description
  • A “Visit Website” button

The website will also allow users to search the available courses with a search bar.

The figure below shows a preview of the final layout of the website:

Final layout of the application

We will build this project step-by-step. Initially, we will implement the course catalog. We will fetch the data from seeds into the SQLite database and then load it into active records.

Once the layout is designed, we will add search functionality to our web application. When a user searches the name of a course, our application will search the keyword from all course names and render the relevant courses.

Project Tasks


Rendering Courses from Database to Front-end

Task 0: Introduction

Task 1: Create a Course Model

Task 2: Create a Database

Task 3: Load Data from the JSON File

Task 4: Create a Base View

Task 5: Create a Course View

Task 6: Render Courses


Course Management

Task 7: Add a Button to Delete a Course

Task 8: Add a Controller to Delete Courses


Create a Search Bar

Task 9: Add a Search Bar

Task 10: Add a Search Controller