【问题标题】:Removing a single product from the cart in Django在 Django 中从购物车中删除单个产品
【发布时间】:2020-05-26 16:59:20
【问题描述】:

我目前正在尝试创建一个视图,允许您从 Django 的购物车中删除单个项目。我有一个允许您将单个产品添加到购物车的视图,但我无法创建一个允许您删除单个产品的视图。

仅供参考,我使用的是 Django 版本 1。

这是我的“添加到购物车”视图

def add_to_cart(request, id)

    cart = request.session.get('cart', {})
    cart[id] = cart.get(id, 1)

    request.session['cart'] = cart
    return redirect(reverse('products'))

这是我的“remove_from_cart”视图(不起作用)

def remove_from_cart(request, id):

    cart = request.session.get('cart', {})
    cart[id] = cart.get(id, 0)

    request.session['cart'] = cart
    return redirect(reverse('view_cart'))

任何帮助将不胜感激。

【问题讨论】:

    标签: python django python-3.x django-models django-views


    【解决方案1】:

    你可以用pop删除它:

    def remove_from_cart(request, id):
    
        cart = request.session.get('cart', {})
        cart.pop(id, None)
    
        request.session['cart'] = cart
        return redirect(reverse('view_cart'))

    或者如果你想减少数字:

    def remove_from_cart(request, id):
        cart = request.session.get('cart', {})
        cart[id] = max(0, cart.get(id, 0) - 1)
        request.session['cart'] = cart
        return redirect(reverse('view_cart'))

    【讨论】:

    • 啊,太棒了。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2020-02-17
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多