【发布时间】:2016-10-15 15:02:00
【问题描述】:
这快把我逼疯了。我正在构建一个电子商务应用程序,购物车位于Django-carton。当我将商品添加到购物车时,我可以将商品的 id 从上下文中获取到商店中,并将其传递到我的 Ajax 调用中,并在客户通过单击按钮添加商品时将其传递给视图。
我希望客户能够使用按钮删除和编辑购物车中的数量,现在我正在尝试创建我的删除和编辑数量功能。我被卡住了,因为我不明白如何在 Ajax 中将 id 传递给视图。 id 不在项目上下文对象中。我可以通过打印ids = request.session['CART'] 来获取视图中的id,但它没有当前的id。上下文中的项目仅限于以下内容:
self.product = product
self.quantity = int(quantity)
self.price = Decimal(str(price))
Django-carton 的文档中的例子有这个例子,它没有使用 Javascript:
观看次数:
def remove(request):
cart = Cart(request.session)
product = Product.objects.get(id=request.GET.get('id'))
cart.remove(product)
return HttpResponse("Removed")
网址:
u`rl(r'^remove/$', 'remove', name='shopping-cart-remove'),`
在我看来,我可以使用
获取购物车中所有对象的 idcart = Cart(request.session)
ids = request.session['CART']
这给了我以下对象:
{u'meal_pk': 15, u'price': u'5', u'quantity': 39}
但这实际上似乎没有帮助。这是我第一次接触会话。我一直在阅读这里的代码https://github.com/lazybird/django-carton/blob/master/carton/cart.py 如何编辑或删除购物车中的商品?
【问题讨论】:
标签: ajax django django-sessions