Chapter 10. Building an e-Learning Platform

In the previous chapter, you added internationalization to your online shop project. You also built a coupon system and a product recommendation engine. In this chapter, you will create a new project. You will build an e-Learning platform creating a custom content management system.

In this chapter, you will learn how to:

  • Create fixtures for your models
  • Use model inheritance
  • Create custom model fields
  • Use class-based views and mixins
  • Build formsets
  • Manage groups and permissions
  • Create a content management system

Creating an e-Learning platform

Our last practical project will be an e-Learning platform. In this chapter, we are going to build a flexible Content Management System (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==1.8.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==2.9.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',
    '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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset