Я пытаюсь удалить элемент из cart
, и у меня есть некоторые проблемы, чтобы сделать это. Вот функция:
def cart_contents(request):
"""
Ensures that the cart contents are available when rendering
every page
"""
cart = request.session.get('cart', {})
cart_items = []
total = 0
destination_count = 0
for id, quantity in cart.items():
destination = get_object_or_404(Destinations, pk=id)
#remove = request.session.pop('cart', {id}) <<<<<<
price = destination.price
total += quantity * destination.price
destination_count += quantity
cart_items.append({'id': id, 'quantity': quantity, 'destination': destination, 'price':price, 'remove':remove})
#cart_item will loop into the cart.
return {'cart_items': cart_items, 'total': total, 'destination_count': destination_count}
Шаблон. html
{% for item in cart_items %}
{{ item.remove }}
{% endfor %}
Я добавил переменную удаления remove = request.session.pop('cart', {id})
, но если я использую ее в коде, она сначала не будет Позвольте мне добавить более одного элемента, и когда я нажимаю кнопку tra sh, чтобы удалить элемент, он удаляет все cart
в сеансе. На следующем изображении есть два элемента в карточке, основанные на его идентификаторе и количестве {'id', quantity} = {'2': 1, '3': 2}
.