Answer the question
In order to leave comments, you need to log in
Is it possible to store a list in a Django session?
Good time of the day.
There was a task to store the user's basket in the session. Is it possible to pass to the request.sessions dictionary by the key I need, not a line, but a python list from which the basket will then be rendered
Answer the question
In order to leave comments, you need to log in
Да, это возможно - примерно так:
pk = form.cleaned_data.get('pk')
request.session.setdefault('cart', [])
if pk in request.session['cart']:
# удаляем из корзины, если товар добавлен
request.session['cart'].remove(pk)
else:
# добавляем в корзину
request.session['cart'].append(pk)
request.session.modified = True
return HttpResponse('ok')
Можно, если список будет состоять из хорошо сериализуемых объектов. Почитайте документацию, всё прекрасно расписано, попробуйте сделать тестовый view с записью интересующих вас объектов в сессию.
Лучше всё же завести модель с foreign key к Session и вашей модели с товарами. Гораздо проще следить за товарами в корзине, не нужно каждый раз дёргать сессию и заставлять пользователя ждать валидации товаров.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question