Удаление одного товара из корзины за Django - PullRequest
1 голос
/ 26 мая 2020

В настоящее время я пытаюсь создать представление, которое позволяет вам удалить один товар из корзины в Django. У меня есть представление, которое позволяет вам добавить один продукт в корзину, но мне не удалось создать представление, которое позволяет вам удалить один продукт.

К вашему сведению, я использую Django версия 1.

Это мое представление add_to_cart :

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'))

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 26 мая 2020

Вы можете удалить его с помощью pop:

def remove_from_cart(request, id):

    cart = request.session.get('cart', {})
    <b>cart.pop(id, None)</b>

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

или, если вы хотите уменьшить число:

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