Skip to main content

Django Shopping Cart is a Django app to store product in cart.

Detailed documentation is in the “docs” directory.

Quick start

  1. Add “cart” to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'cart',
    ]
    
    Add below line to settings context_processor::
        'cart.context_processor.cart_total_amount'
    
    CART_SESSION_ID = 'cart'
  2. You can use the urls in following way:

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('cart/add/<int:id>/', views.cart_add, name='cart_add'),
        path('cart/item_clear/<int:id>/', views.item_clear, name='item_clear'),
        path('cart/item_increment/<int:id>/',
             views.item_increment, name='item_increment'),
        path('cart/item_decrement/<int:id>/',
             views.item_decrement, name='item_decrement'),
        path('cart/cart_clear/', views.cart_clear, name='cart_clear'),
        path('cart/cart-detail/',views.cart_detail,name='cart_detail'),
    ]
  1. You should have a Product model & Below field is mandatory

    name = models.CharField(max_length=255) image = models.ImageField(upload_to=’products/’) price = models.FloatField()

  1. Then views.py should like like this:

    from django.shortcuts import render, redirect
    from store.models import Product
    from django.contrib.auth.decorators import login_required
    from cart.cart import Cart
    
    @login_required(login_url="/users/login")
    def cart_add(request, id):
        cart = Cart(request)
        product = Product.objects.get(id=id)
        cart.add(product=product)
        return redirect("home")
    
    
    @login_required(login_url="/users/login")
    def item_clear(request, id):
        cart = Cart(request)
        product = Product.objects.get(id=id)
        cart.remove(product)
        return redirect("cart_detail")
    
    
    @login_required(login_url="/users/login")
    def item_increment(request, id):
        cart = Cart(request)
        product = Product.objects.get(id=id)
        cart.add(product=product)
        return redirect("cart_detail")
    
    
    @login_required(login_url="/users/login")
    def item_decrement(request, id):
        cart = Cart(request)
        product = Product.objects.get(id=id)
        cart.decrement(product=product)
        return redirect("cart_detail")
    
    
    @login_required(login_url="/users/login")
    def cart_clear(request):
        cart = Cart(request)
        cart.clear()
        return redirect("cart_detail")
    
    
    @login_required(login_url="/users/login")
    def cart_detail(request):
        return render(request, 'cart/cart_detail.html')
  2. In the template you can use the url in folowing way:

    <a href="{% url 'cart_add' product.id %}">Add To Cart</a>
    <a href="{% url 'cart_clear' %}">Clear Cart</a>
    <a href="{% url 'item_increment' value.product_id %}">Increament</a>
    <a href="{% url 'item_decrement' value.product_id %}">Decrement</a>
  3. To view the cart detail page use the below code

    {% load cart_tag %}

    Total Length :: {{request.session.cart|length}}

    Cart Detail:

    {% for key,value in request.session.cart.items %}

    {{value.name}} {{value.price}} {{value.quantity}} {{value.image}} Total {{ value.price|multiply:value.quantity }}

    {% endfor %}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-shopping-cart-0.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_shopping_cart-0.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file django-shopping-cart-0.1.tar.gz.

File metadata

  • Download URL: django-shopping-cart-0.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.6.9

File hashes

Hashes for django-shopping-cart-0.1.tar.gz
Algorithm Hash digest
SHA256 01fb2ebf63e4e0ee34f9ed4ac9ee2cad65bbcdbd1519ad0165820d01dc59da83
MD5 642ab8a23c1637de2ea4ecea4e6d2dbb
BLAKE2b-256 64fa93122af88f1fd4c79bd64867ade9928cee413cc1d22009df2ea6cee58e14

See more details on using hashes here.

File details

Details for the file django_shopping_cart-0.1-py3-none-any.whl.

File metadata

  • Download URL: django_shopping_cart-0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.6.9

File hashes

Hashes for django_shopping_cart-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fd125c07968354c7967782e735b888d61b3e76139ab9babfcd3eae25b559d38c
MD5 fd7c58a87274022f55e4bf4de50c4368
BLAKE2b-256 7d11f8952063c9b23b5ac0810ea748eaab9e2a65d627aa26b3095e9a74f15b6e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page