
Build an e-commerce store with Django, covering shopping cart, category filtering, product and order management, user accounts, password management, PayPal payments; prerequisites in HTML, CSS, JavaScript, Django, and Bootstrap (optional).
Access course support through the Q&A forum and open a Q&A thread to ask questions, while learning to solve problems on your own before seeking help.
Structure your sort process, take it one step at a time, and set a realistic schedule to stay consistent in this course without overdoing it, ensuring slow, long-term knowledge gains.
Download the final project code zip and access the resources folder for required files, which you will use at key stages as you follow the Python Django e-commerce course.
Install python 3.11.1 on Windows and add it to the path. Install Visual Studio Code for Windows and set up extensions like Plastic, Prettier, Auto Rename Tags, and Django support.
install python on macOS, verify python3 --version and pip3 --version, then install and customize Visual Studio Code with extensions like Plastic, Prettier, auto rename tag, and Django support.
Set up a Django project on Windows by creating a dev folder, configuring and activating a virtual environment, installing Django, creating ecommerce, and running the development server.
Configure the Python interpreter in Visual Studio Code to point to your virtual environment, select the interpreter path, and verify it is ready for package installation.
Choose how to run Django commands using either the command prompt or the Visual Studio Code integrated terminal, then start the server with python manage.py runserver from your project directory.
Set up a Django project on macOS with virtual environments and permission steps. Install Django, start an e-commerce project, and run the server to verify setup.
Create a Django app named store by running django-admin startapp in your project directory, ensure your virtual environment is active, and add the app to installed apps in settings.
define a Django category model with a unique slug and db indexing, and a product model with title, brand, description, slug, price, and image fields.
Install pillow, add the image field to your Django models, then run make migrations and migrate to update SQLite with product and category models.
Configure Django to serve static files by creating a base static folder with css, js, and media subfolders, updating static files dirs in settings, and running the dev server.
Configure Django to handle image uploads by defining media root and media URL in settings.py and routing media via urls.py for your e-commerce store.
Learn to configure the Django admin: register category and product models, customize display names with class Meta, and use prepopulated fields for slug.
Learn to configure Django admin with pre populated fields for category and product, including slug auto-population and admin class registration, and test via the admin interface.
Configure template rendering in Django by placing templates at the app level inside the store app, enabling Django's automatic template discovery and avoiding namespace issues.
Configure Django url patterns and a storefront view by creating the app's urls.py and views.py, rendering the storefront template, and including the URLs in the main project.
Create and integrate a base template for a Django e-commerce store using Bootstrap, a responsive navigation bar, and static assets, then extend it across pages via block content.
Create the initial storefront page in Django by inheriting from base.html, loading static, and defining a store block for a Bootstrap-styled, navigable storefront.
Populate the Django e-commerce database by adding a foreign key from product to category, running migrations, and creating categories and products in the admin, then verify data integrity.
Build a Django category view by querying all categories, expose them via a context processor for universal access, and loop through category.name with cap first in the template.
Create the main product data grid on the home page using a ready-made product template and bootstrap cards to display product images, titles, and descriptions.
Build a main product data grid on the store page by querying all products from the database and displaying each product's image, title, and price in the template.
Create a slug-based URL that redirects to a singular product page, fetches the product with get_object_or_404, and renders a product info page with add-to-cart.
Build a singular product page in Django using a ready-made product info template, a slug-based view, and URL validation to display image, title, brand, description, and price.
Learn to create dynamic links in Django by using reverse to build product and category urls, then hook get_absolute_url on models to route titles to detail pages and category lists.
Learn to build a dynamic category list view in Django, linking URLs and slugs to filter products by category and render a template with category and product data.
Build a dynamic category list page using a list category template, filter products by category, and loop through items to show title, price, and image, with capitalized category names.
Create a Django app named Cart for the shopping cart, activate your virtual environment, and run django-admin startapp Cart, then add the app to installed apps in settings.py.
Configure Django urls and views for the cart, wiring a cart.urls to the project and creating summary, add, delete, and update views for ajax-based updates.
Set up and render a cart summary template in Django, using app-level templates and the include tag, wire the cart summary view and URL, and enable cart actions.
Create a session for a shopping cart by building a Cart class with add, delete, and update methods and initializing session, and expose cart data in templates with context processor.
Learn to test Django sessions using browser dev tools to inspect cookies and session IDs, clear cache, and simulate new versus returning users, then verify with the Django shell.
Implement an ajax add-to-cart flow on product info page by sending product ID and quantity to a Django cart endpoint via jQuery ajax, updating the server session with CSRF token.
Create a Django view to handle ajax add-to-cart requests, fetch the product by id with get_object_or_404, and update the session cart via Cart.add including quantity.
Analyze and test cart functionality by validating session data and a backend json response via ajax, ensuring lowercase post handling, and confirming session persistence across user actions.
Students implement add-to-cart functionality in the Django storefront, rendering dynamic cart quantity from session data via ajax and a Len-based cart counter in the template.
Update the cart summary template to loop through cart items from session data, fetch product details from the database, display image, title, price, quantity, and total price.
Compute the cart's subtotal by summing each item's price multiplied by its quantity. Implement a get_total function in cart class and render the result in the cart summary template.
Learn to match price with quantity in a Django e-commerce store by multiplying the product price by the selected quantity using the Django math filters package, and updating templates.
Implement ajax-based deletion of cart items using a delete button with a data index to identify each product, and connect to a Django delete view with CSRF handling.
Implement delete functionality in the django cart using Ajax to remove items from the session, update quantity and total, and return a json response for live page updates.
Learn how to update a shopping cart with ajax by setting up ajax and using data-index for multiple products, sending product_id and selected quantity to the update endpoint.
Learn to implement update functionality in a Django shopping cart by handling product id and quantity, updating the session cart, and reflecting totals with asynchronous updates.
Test cart functionality by adding items, updating quantities, deleting products, and verifying subtotals and total, using developer tools to clear sessions when needed.
Optimize your cart handling by replacing shallow copies with deep copies using copy.deepcopy to ensure internal objects are correctly referenced, then test by adding items to the cart.
Welcome! I'm here to help you to build your own E-commerce store with Django.
-- Please read carefully --
This course is primarily intended for those with a basic knowledge of Django. You also need to have some knowledge of HTML, CSS, JavaScript and a little bit of bootstrap would be helpful. If you meet these conditions then this course is for you!
I want to help YOU to build your very first E-commerce store!
Please note:
The eCommerce store project that is developed in this course is for learning purposes only. I will teach you how to build an eCommerce store with the expected custom functionalities of a live store.
I do not promise that this course is going to be a 100% eCommerce solution for your business. Another important thing to bear in mind, is that this course is not for non-technical users.
The Python Django: Build an E-commerce Store - course has been structured in a simple and logical order. Everything that has been designed from the styling to the graphics and topics covered is crafted with the absolute duty of care towards the student.
Detailed course breakdown:
Building an ecommerce store with Django
Learn the fundamentals of Django.
Set up the foundation for an ecommerce website.
Payment Integration with PayPal
Implement payment processing using PayPal.
Real-World application development
Gain practical experience by building a real-world ecommerce application.
Shopping cart development
Create a shopping cart feature for your ecommerce site.
User management
Implement user management functionality.
Email verification
Add email verification features to enhance user management.
AWS Integration
Utilize Amazon Web Services (AWS) for storage (Amazon S3), database (Amazon RDS), and hosting (Amazon Elastic Beanstalk).
Deployment (live server hosting) options
Explore different deployment options, including Render deployment and Amazon Elastic Beanstalk deployment.
Shipping and order functionality
Implement shipping and order processing features.
Styling and validation
Enhance the user interface and ensure data validation.
Password management
Implement secure password management features.
Cart functionality
Handle shopping cart functionality, including sessions, adding, deleting, updating, testing, and optimization.
Context processors
Learn about context processors and their role in Django.
Model management
Understand how to manage models within the Django framework.
Additional functionality
Explore extra functionality beyond the core topics.
It covers all the concepts that you need to be aware of, in order to create your e-commerce store.
The course is structured in a logical and cohesive way - not just random lectures plastered everywhere.
It starts off very simple and then builds on gradually throughout the course.
This course is jam-packed with code snippets/references and with the full project source code (as a zip file).
We will learn how to integrate PayPal functionality.
The Python Django: Build an E-commerce Store course is a highly practical course and allows you to apply your knowledge:
There is a wealth of hands-on lectures throughout this course.
Your instructor:
My name is Arno Pretorius. I'm a qualified IT teacher who has taught programming both in-person and online. My main passions are teaching and technology, so I thought why not just combine the best of both worlds to create something truly amazing and valuable. Over the years, I have created and deployed many real-world Django-based applications, including a job portal for university graduates and an exclusive social network.
I'm a Software developer, an AWS Solutions Architect and Developer associate. I have a keen interest in cloud computing, web development and everything that relates to programming and technology.
So, let's go and become fluent in Django, along with an extra service or two.
Trust me you are in good hands!
This course also comes with:
- 18 + hours of on-demand video
- Full lifetime access
- A Udemy certificate of completion
- Access on mobile and TV
Join me in this course if you want to build your own E-commerce store with Django!