Python 从数据库中检索金额
我正在尝试创建条带签出,但当我尝试从数据库获取金额或在会话中存储金额时,签出不会重定向到条带签出页面Python 从数据库中检索金额,python,flask,stripe-payments,Python,Flask,Stripe Payments,我正在尝试创建条带签出,但当我尝试从数据库获取金额或在会话中存储金额时,签出不会重定向到条带签出页面 results=Cart.query.filter_by(username = current_user.username, session_id = session['coded']) total = sum([cart.amount for cart in results]) 但如果我用整数替换total,它就可以工作了。这个查询非常准确。怎么了 @posts.route(
results=Cart.query.filter_by(username = current_user.username, session_id = session['coded'])
total = sum([cart.amount for cart in results])
但如果我用整数替换total,它就可以工作了。这个查询非常准确。怎么了
@posts.route('/checkout')
def checkout():
results=Cart.query.filter_by(username = current_user.username, session_id = session['coded'])
total = sum([cart.amount for cart in results])
session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {
'name': 'T-shirt',
},
'unit_amount': total,
},
#'price': 'price_1GznR1BlIKnRHDeI80wgnj0A',
'quantity': 1,
}],
mode='payment',
success_url=url_for('posts.processing', _external=True) + '?session_id={CHECKOUT_SESSION_ID}',
cancel_url=url_for('posts.viewcart', _external=True),
)
您需要执行查询:
results=Cart.query.filter_by(username = current_user.username, session_id = session['coded']).all()
我宣布会议是全球性的。我确保金额为整数
@posts.route('/checkout')
def checkout():
global session
results=Cart.query.filter_by(username = current_user.username, session_id = session['coded'])
#results=Cart.query.filter_by(username = current_user.username, session_id = session['coded']).all()
total = int(sum([cart.amount for cart in results]))
print(results)
session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {
'name': 'T-shirt',
},
'unit_amount': total,
},
#'price': 'price_1GznR1BlIKnRHDeI80wgnj0A',
'quantity': 1,
}],
mode='payment',
success_url=url_for('posts.processing', _external=True) + '?session_id={CHECKOUT_SESSION_ID}',
cancel_url=url_for('posts.viewcart', _external=True),
)
return jsonify(checkout_session_id=session['id'], checkout_public_key=current_app.config['STRIPE_PUBLIC_KEY'])
在控制台/终端中运行时,您没有收到错误消息吗?您是否使用
print()
检查viarlabless中的内容?是的,但在控制台中显示终端错误。。。我已经上传了问题error explain all中的错误-如果您想将(session=…
)分配给外部变量,那么您必须使用global
通知函数它必须分配给外部变量,而不是创建局部变量。