bom dia, sigo com duvidas sobre o carrinho de compras. nesta jogoteca eu distribui os jogos em categorias de acao e aventura
eu tenho estas rotas:
@app.route('/add_to_cart/int:id') def add_to_cart(id): if 'cart' not in session: session['cart'] = [] if id not in session['cart']: #isso aqui foi na tentativa de incluir mais itens porem so fica o primeiro item selecionado session['cart'].append(id) return redirect(url_for('cart'))
@app.route('/cart') def cart(): items = [acao.query.get(id) for id in session['cart']] items = [aventura.query.get(id) for id in session['cart']] total = sum(item.preco for item in items) return render_template('cart.html', cart=items, total=total)
porem somente o primeiro item que eu clico fica, quando eu clico nos outros nao há acrescimo de itens, permanece sempre o mesmo. como faco para adicionar mais itens no carrinho?
outra duvida, esses itens ficam armazenados na session, isso? nao no banco de dados. se for no banco de dados como que passa uma lista para o banco de dados? porque nos vimos um dicionario, correto? (os jogos estao armazenados em um dicionario no banco de dados, com varios topicos, como transecrever em lista? nao estou entendendo essa parte.