nanny_ogg
@nanny_ogg
My name is Masha. I'm from Russia

Как можно реализовать корзину с помощью сессий во Flask?

Добрый день. Начала изучать питон и фласк, возникли некоторые трудности.
Моя идея такая - при нажатии на кнопку "Добавить в корзину", в обработчик передаются параметры товара, записываются в сессию и на странице корзины выводятся все товары, которые есть в сессии.
В пхп я бы сделала это как-то так:
$_SESSION["cart"][] = array("product_name" => "$_POST['product_name']");


Но в питоне столкнулась с тем, что не знаю, как передать в параметр сессии список или словарь, и вообще не знаю, что и как туда правильно было бы передать. На данных момент работает добавление только одного товара, он выводится, но при добавлении второго товара все переписывается на новый товар и старый затирается, что логично.

if request.method == 'POST':
        session['product_name'] = request.form['product_name']
        session['product_image'] = request.form['product_image']
        session['product_description'] = request.form['product_description']

        return render_template('cart.html', session=session)


Может я не в ту сторону думаю? Как грамотно это было бы реализовать?
И еще вопрос, в пхп можно спокойно посмотреть, что находится в сессии, вызвав print_r($_SESSION), в питоне есть что-то аналогичное?
  • Вопрос задан
  • 950 просмотров
Решения вопроса 1
planc
@planc

return render_template('cart.html', session=session)

это у тебя не сессия, а переменная в шаблоне

flask-russian-docs.readthedocs.io/ru/latest/quicks...
https://habr.com/post/346306/


И еще вопрос, в пхп можно спокойно посмотреть, что находится в сессии, вызвав print_r($_SESSION), в питоне есть что-то аналогичное?


dir(obj), vars(obj)

https://docs.python.org/3/library/pdb.html

import pdb; pdb.set_trace()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы