Мой ответ таков:
Вариант №1:
views.py
def add_product_to_cart(request):
if request.method == 'POST':
id = int(request.POST['product_id'])
if 'cart' not in request.session:
request.session['cart'] = []
request.session['cart'].append(int(id))
request.session.modified = True
return redirect("/")
def show_cart(request):
cart = request.session.get('cart')
product_items = Product.objects.filter(id__in=cart) #можно и так Product.objects.filter(id__in=request.session['cart'])
content={
"product_items":product_items
}
return render (request, "orderdetail.html", content)
Вариант №2 (в принципе отличия не серьезные):def add_product_to_cart(request):
if request.method == 'POST':
id = int(request.POST['product_id'])
price = int(request.POST['price'])
if 'cart' not in request.session:
request.session['cart'] = []
request.session['cart'].append(dict({'product_id': id, 'price': price}))
request.session.modified = True
return redirect("/")
def show_cart(request):
cart = request.session.get('cart')
product_items = Product.objects.filter(id__in=(x['product_id'] for x in cart) )#можно прописать и для price вот только фактически это не нужно...
content={
"product_items":product_items
}
return render (request, "orderdetail.html", content)
В добавок - читайте свой код! В данном случае я в темплейте пропустил(скорее всего нечаянно удалил) скобку))
Спасибо
iegor за помощь,)