A Django app to add product to store.
Project description
Django Shopping Cart is a Django app to store product in cart.
Detailed documentation is in the “docs” directory.
Quick start
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'
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'), ]
- 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()
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')
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>
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 %}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.