We are going to start with a new Django project to build an online shop. Our users will be able to browse through a product catalog and add products to a shopping cart. Finally, they will be able to check out the cart and place an order. This chapter will cover the following functionalities of an online shop:
- Creating the product catalog models, adding them to the administration site, and building the basic views to display the catalog
- Building a shopping cart system using Django sessions to allow users to keep selected products while they browse the site
- Creating the form and functionality to place orders on the site
- Sending an asynchronous email confirmation to users when they place an order
Open a shell, create a virtual environment for the new project, and activate it with the following commands:
mkdir env
virtualenv env/myshop
source env/myshop/bin/activate
Install Django in your virtual environment with the following command:
pip install Django==2.0.5
Start a new project called myshop with an application called shop by opening a shell and running the following commands:
django-admin startproject myshop
cd myshop/
django-admin startapp shop
Edit the settings.py file of your project and add the shop application to the INSTALLED_APPS setting as follows:
INSTALLED_APPS = [
# ...
'shop.apps.ShopConfig',
]
Your application is now active for this project. Let's define the models for the product catalog.