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
通知函数它必须分配给外部变量,而不是创建局部变量。