Our final practical project will be an e-learning platform. In this chapter, we are going to build a flexible CMS that allows instructors to create courses and manage their contents.
First, create a virtual environment for your new project and activate it with the following commands:
mkdir env
virtualenv env/educa
source env/educa/bin/activate
Install Django in your virtual environment with the following command:
pip install Django==2.0.5
We are going to manage image uploads in our project, so we also need to install Pillow with the following command:
pip install Pillow==5.1.0
Create a new project using the following command:
django-admin startproject educa
Enter the new educa directory and create a new application using the following commands:
cd educa
django-admin startapp courses
Edit the settings.py file of the educa project and add courses to the INSTALLED_APPS setting as follows:
INSTALLED_APPS = [
'courses.apps.CoursesConfig',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
The courses application is now active for the project. Let's define the models for courses and course contents.