Я очень шаткий с django и Python, но я делаю сайт электронной коммерции из вторых рук (например, ebay), и я изо всех сил пытаюсь сделать что-то, что, я уверен, просто:
Если элемент был добавлен в вашу корзину, и вы продолжаете просмотр, я не хочу, чтобы они могли видеть этот элемент. Это связано с тем, что каждый элемент уникален, поэтому его повторное отображение может означать добавление его снова, что не имеет смысла!
До сих пор я мог скрывать собственные элементы пользователей, но я просто могу Я не могу разобраться с этой частью.
Вот мой код:
views.py для предметов:
def get_items(request):
"""Create a view that will return a list of all items and render them
to the 'items.html' template"""
user = request.user
if request.user.is_authenticated():
items = Item.objects.exclude(owner=user).filter(date_added__lte=timezone.now
()).order_by('-date_added')
else:
items = Item.objects.filter(date_added__lte=timezone.now
()).order_by('-date_added')
return render(request, "items.html", {"items" : items, "profile": user})
Корзина views.py
def view_cart(request):
"""
A view to render cart contents
"""
return render(request, "cart.html")
def add_to_cart(request, id):
"""
A view to add item to cart
"""
cart = request.session.get('cart', [])
if id in cart:
cart[id] = int(cart[id])
print("already in list - this will not add another")
else:
cart[id] = cart.get(id)
print("not Found")
request.session['cart'] = cart
return redirect(reverse('view_cart'))
Дайте мне знать, если вам нужно что-нибудь еще, любая помощь очень ценится!