*cart.py* class Cart(object): def __init__(self,request): self.session = request.session cart = self.session.get(settings.CART_SESSION_ID) if not cart: # save an empty cart in the session cart = self.session[settings.CART_SESSION_ID] = {} self.cart = cart
def add(self,product,quantity = 1,update_quantity = False): ''' Add a product to the cart or update its quantity ''' product_id = str(product.id) print(product_id) if product_id not in self.cart: self.cart[product_id] = {'quantity':0,'price':str(product.price)} if update_quantity: self.cart[product_id]['quantity'] = quantity else: self.cart[product_id]['quantity']+=quantity self.save() def save(self): #mark the session as "modidied" to make sure it gets saved self.session.modified = True def remove(self, product): ''' remove a product from the cart ''' product_id = str(product.id) if product_id in self.cart: del self.cart[product_id] self.save() def __iter__(self): ''' Iterate over the items in the cart and get the products from the database ''' product_ids = self.cart.keys() # get the product objects and add them to the cart products = Product.objects.filter(id__in=product_ids) cart = self.cart.copy() for product in products: cart[str(product.id)]['product'] = product for item in cart.values(): item['price'] = Decimal(item['price']) item['total_price'] = item['price'] * item['quantity'] yield item def __len__(self): """ count all the items in the cart """ return sum(item['quantity'] for item in self.cart.values()) def get_total_price(self): return sum(Decimal(item['price']) * item['quantity'] for item in self.cart.values()) def clear(self): #remove cart from session del self.session[settings.CART_SESSION_ID] self.save() *views.py(cart)* @require_POST def cart_add(request,product_id): cart = Cart(request) product = get_object_or_404(Product,id = product_id) form = forms.CartAddProductForm(request.POST) if form.is_valid(): cd = form.cleaned_data cart.add(product = product,quantity = cd['quantity'],update_quantity = cd['update']) return redirect('cart_detail') def cart_remove(request,product_id): cart = Cart(request) product = get_object_or_404(Product,id = product_id) cart.remove(product) return redirect('cart_detail') def cart_detail(request): cart = Cart(request) for item in cart: * print(item)* for item in cart: item['update_quantity_form'] = forms.CartAddProductForm( initial = {'quantity':item['quantity'], 'update' : True} ) return render (request,'cart/cartdetail.html',{'cart':cart}) here len of item is 0 On Wed, May 22, 2019 at 6:58 PM Anirudh Jain <anirudhajain....@gmail.com> wrote: > Can you tell which function in which app you are using to show data in > which template ? > > On Wed, 22 May 2019, 18:56 Soumen Khatua, <soumenkhatua...@gmail.com> > wrote: > >> Hi Folks, >> Guys I'm not getting my data into html after rendered that still I'm not >> getting my data,i'm sharing my github link: >> https://github.com/Herosoumen/clothproject.Please go through this >> link.Please guys help me it's urgent. >> >> >> Thank You >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-users+unsubscr...@googlegroups.com. >> To post to this group, send email to django-users@googlegroups.com. >> Visit this group at https://groups.google.com/group/django-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/CAPUw6WZ-ESxGfTZwiSBUf7ZSiDF3g0jzSNqUX3N4NowKA3%3DGTg%40mail.gmail.com >> <https://groups.google.com/d/msgid/django-users/CAPUw6WZ-ESxGfTZwiSBUf7ZSiDF3g0jzSNqUX3N4NowKA3%3DGTg%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To post to this group, send email to django-users@googlegroups.com. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAC3mK7dv0yZwX6-RjfRwkpTAF0j5%2Bxq-L1O8NcCFLj1pY-uQjQ%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAC3mK7dv0yZwX6-RjfRwkpTAF0j5%2Bxq-L1O8NcCFLj1pY-uQjQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAPUw6Wa%3Do0tUVFj4e2wj9g%2BnZk0w1BFOqWdeqg%3DxZZx6WSDD%3DA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.