Web Development


Django Ecommerce | Build Advanced Django Web Application

Build Django eCommerce website with a lot of advanced custom functionalities, RDS Postgres and deploy it on Amazon AWS

4.58 (372 reviews)


20.5 hours


Aug 2021

Last Update
Regular Price

What you will learn

Make real world eCommerce applications using Python and Django Framework

Django Custom User Model, Category & Media Files

Working with Products

Context Processors & Product Details

Setup Git and Carts Functionality

Add to Cart using Session Keys, Increment/decrement/remove Cart Items

Fixing Cart Bugs & Context Processor for Cart Item Counter

Paginator & Search

Product Variations & Variation Manager

Adding the Variation in Cart, Grouping Cart Item Variations

Registration, Login with Token Based Verification & Message Alerts

User Account Activation & Activation Link Expiry

Forgot Password with Secure Validation Links

Cart Checkout, automatically assign the Cart Items to Logged-in User

Orders & Order Number Generation

Payment Gateway Integration & Place Order

After Order Functionalities

Review and Rating System

Two Factor Checks for Submitting Reviews (Login check & Product purchase check)

Rating Average & Review Count Calculation

My Account Functionalities

Product Gallery with Unlimited Images

Django Security Measures

Deploying Application on AWS Elastic Beanstalk (EB)


Welcome to the Project-Based Django Web Development Course where you will learn to develop a fully-featured eCommerce website and redesign any Django-based web applications.

I designed this course, for anyone seeking to learn and build a Django-based custom web application. By the end of this course, you will be able to analyze, design, and develop your own eCommerce application and deploy it on the live server with the custom domain name.

Please note: The project developed in this course is for learning purposes only. This will teach you to build most of the custom functionalities of eCommerce website development. I do not promise that this course is going to be a 100% eCommerce solution for your live business. Also, this course is not for non-technical business owners.

With that said, we’ll be building a fully custom featured eCommerce application using a Python Django web framework. You will be learning how to make your own custom user model, categories and products, Carts, Incrementing, Decrementing and removing car items, Unlimited Product image gallery, Orders, Payments, also we’ll be making “after order functionalities” such as reduce the quantify of sold products, send the order received email, clearing the cart, Order completion page as well as generating an invoice for the order. Also, we’ll be making a Review and Rating system where we’ll be designing the interactive rating stars from scratch that even allows you to rate a half-star rating. We’ll be also making my account functionalities for the customer who can easily edit his profile, profile pictures, change his account password, and also manage his orders.

With everything in place, we will be deploying this application on AWS Elastic Beanstalk with the RDS Postgres database also we will AWS S3 Bucket for the media storage. With that in place, we will also configure a custom domain name where you will be configuring AWS Route 53 as well as we will also be installing the Free SSL Certificate provided by AWS.

Alright, what you need to know before you get started with this course? Well, this is a 100% project-based course, I will not be teaching you very basic things about programming. So I expect you to have at least a basic knowledge of Python and Django.

If you are a very beginner, then please do some crash course and come back here.

All you have to know is the basic HTML, and of course a python and Django knowledge.


Django Ecommerce | Build Advanced Django Web Application
Django Ecommerce | Build Advanced Django Web Application
Django Ecommerce | Build Advanced Django Web Application
Django Ecommerce | Build Advanced Django Web Application




Full Project Overview

Getting Ready

Installing Necessary Software's

Setup Virtual Environment

Django Installation

Run HTTP Response

Configuring Template

Implement Bootstrap Template

Making Base Template

Download Practice Templates

Django Custom User Model, Category & Media Files

Category Model

Brief about Custom User Model

Making Custom User Model

Making the Custom Password Field Read-only

Configuring Django Media Files

Pre-populate Category Slug

Install SQLite Studio

Working with Products

Store App & Product Model

Add Products

Display Product in Homepage

Make Store Page

Display Products in Store Page

Display Products by Category

Context Processors & Product Details

Make Context Processors for Displaying Categories on Navbar

Display Categories in the Store Page

Implement Product Detail Url and Design

Single Product View

Get URL for Product

Changed Cover Photo

Product Out of Stock Tag

Setup Git and Start Carts Functionality

Setup Git for Project

Carts App & Cart Page Design

Cart & Cart Item Models

Add to Cart using Session Keys, Increment/decrement/remove Cart Items

Add to Cart Functionality without Logging-in and with Session Key

Cart View for Getting Cart Items, Total & Quantity

Implement Data into Cart Page

Calculate Tax & Grand Total

Decrement & Remove Cart Items

Fixing Cart Bugs & Context Processor for Cart Item Counter

Check for Empty Cart

Fix Add to Cart Links

Check If the Product Added to the Cart

Counter Context Processor for Cart Icon in Navbar

Paginator & Search

View Details Button

Paginator Part 01

Paginator Part 02

Fixing Products Warning and Empty Cart Issue

Search Function

Starting Product Variations & Variation Manager

Product Variation Preparation

Product Variation Model

Product Variation Fetch Dynamic Color

Variation Manager for Variation Model

Get the Instance of Variation Part 01

Get the Instance of Variation Part 02

Adding the Variation in Cart, Grouping Cart Item Variations

Add Variation in Cart Item

Grouping Cart Item Variations

Cart Increment/Decrement/Remove with Variations

Push Code to GitHub

Registration, Login with Token Based Verification & Message Alerts

Registration Preparation : Setting Up Urls & Design

Registration : Implementing Model Forms and Editing __init__ Method

Registration : Making View & Editing Model Form Clean Method to Check Passwords

Django Message Alerts

User Login Functionality

User Account Activation & Activation Link Expiry

57. Account Activation – Encode User PK & Send Token Based Activation Link

57. Account Activation – Decode User PK & Activate the User | Expire Link


Forgot Password with Secure Validation Links

Forgot Password

Reset Password Validation

Push Code to GitHub

Cart Checkout, automatically assign the Cart Items to Logged-in User

Checkout Page Design

Assign the User to Cart Item

Modify Cart Counter & Cart View to Handle Logged-in Users

Variation Grouping for Logged-in Users Part1

Variation Grouping for Logged-in Users Part2

Fix Remove & Cart Decrement Functions

Dynamically Redirect the User to Next Page

Orders & Order Number Generation

Order Flow Explained

Making Order Model, Order Product model and Payment Model

Place Order View and Generate Order Number Part 01

Place Order View and Generate Order Number Part 02

Review Order Page Setup

Review Order Payment Page

Payment Gateway Integration & Place Order

Create PayPal Business Account

PayPal Payment Gateway with Sandbox Account & Place Order

Send Transaction Details to Backend

After Order Functionalities

Move Cart Items to Order Product Table

Set Variations to Ordered Products

Reduce Quantity of Sold Products and Clear the Cart

Send Order Received Email

Redirect the User to Order Completed Page

Generate Invoice on Order Completion

Push Code

Review and Rating System

Review & Rating Model

Making Rating Stars 01

Making Rating Stars Applying CSS 02

Store the Rating & Reviews

Two Factor Checks for Submitting Reviews (Login check & Product purchase check)

Check if the User has purchased the Product before submitting Review

Displaying Rating Stars

Rating Average & Review Count Calculation

Rating Average Calculation

Rating Average Stars & Review Counter

Anonymous User Error Fix

Push Code

My Account Functionalities

Dashboard Edits

My Orders

User Profile Model

Edit Profile Setup

Edit Profile Functionality

Change Password

Order Detail Page

Fix Profile Picture in Dashboard

Product Gallery with Unlimited Images

Product Gallery Model with Image Preview

Product Gallery Implementation – Unlimited Product Images

Show Rating Stars on Homepage

Django Security Measures

Store Your Website’s Sensitive Information Securely

Secure your Admin panel & Record Hacking Attempts

Automatically logout after Inactivity

Deploying Application on AWS Elastic Beanstalk (EB)

AWS Elastic Beanstalk Deployment Introduction

Amazon AWS Account Creation

Deploy your Application on AWS Elastic Beanstalk (AWS EB)

AWS RDS Postgres Configuration

Postgres Installation and Load data from Sqlite3 to Postgres

AWS S3 Bucket for Static & Media Files Storage

Deploying the Application again for S3 Changes

Content Being Uploaded...

Download Practice Templates

Outro & Thank You!


David15 June 2021

I got chance to learn a lot about ecommerce website development. It is beyond the expectation. So awesome course.

Angshumaan10 June 2021

Being almost at the edge of completing your course. Sir,You are a gem.I have gone through many courses which makes me feel iam not learning much insights.They don't cover the major things. However ,Your's made me feel iam intermediate now and can tackle most of the projects. Thank You

Alejandro9 June 2021

This is kind of beginners/intermediate course, I already did some things with Django before, so, it was easy to follow and improve things while moving into the process. Some refactor will be needed when you are done with the code, but nothing too complicated to do. Rathan don't use fancy built-in django methods that could reduce a lot the quantity of lines, but maybe it's better for beginners to keep it simple. End code is not usable in production as it is, it will need some backend modifications/fixes and frontend should be completely changed (as he says, the template he is using is not publicly usable because copy rights). Overall, a pretty good course, I enjoyed building the ecommerce site, and it gives a basic understanding about the structure an ecommerce system should have. Also Rathan answer questions in less than 12h in my case, pretty good timing!

SEBASTIAN2 June 2021

I must say that this is the best Django course I have ever taken. Very complete and detailed. Useful in so many ways. I am grateful to Rathan for the dedication and content of this course. Recomended 200%!

Johann31 May 2021

I have had past experience with other Django beginner courses. So far, this course covers similar ground at a good pace, and I am happy with what I have learned so far.

Ryan26 May 2021

immensely valuable course and highly recommended. its not just a course on a complete ecommerce app but a lot more added amazing features well beyond my expectations.

Tchuameny30 April 2021

I am happy to have taken this course because i learned a lot of new things that i am sure could be very useful to me in my futures projects and i will be waiting for more courses like this with others features in future...i recommended it

Yugal28 April 2021

Amazing Course by Rathan. Thanks Even i have 1 year experience in django still i learned a lot from this course. Anyone who wants to purchase this course. Go Ahead.

Illia27 April 2021

This course provides a lot of knowledge which you will need in commercial development. Moreover, now you have a template of a fully functional e-commerce website. I liked this course and all the explanations. However, this course demands some basic understanding of django, so it is not a perfect fit for complete newbies in python.

Dondee19 April 2021

I am expecting this course sir Rathan. I have waited for this. This is my second course from you. Thank you sir. Highly recommended.

Nguyễn15 April 2021

Thank you teacher. This is the best course for me. I have learned a lot from him. Thanks Udemy for sharing it <3

Shekar13 April 2021

Mind-blowing course. Covering all the complex concepts of an ecommerce website. Thanks Rathan for this awesome course.

Max6 April 2021

Phenomenal. I've never seen a project based course like this one, it is above and beyond, covering most of the complex things of django. Thank you so much for the practice templates, they are very very beautiful. I'm very excited to learn from Rathan because I must say I'm your old student, I really love the way you respond to each and every students questions and I have also taken a remote support from you. I've purchased plethora of courses on Udemy but none of the instructors on Udemy provides remote support, but Rathan does it. You're the man! Recommended++

Luqman31 March 2021

Another excellent course from Rathan! No stone left unturned while explaining the concepts applied in the course. And your response time to questions is record breaking. Thank you for such a wonderful course.

Kajal28 March 2021

From development to deployment everything is properly aligned. This one is amazing, the teaching the content and the overall learning process, are worth it!!!!


Udemy ID


Course created date


Course Indexed date
Course Submitted by