如何在Python Flask中计算HTML Select值总和并存入session
解决方案
问题核心
你之前的写法错误在于把元组作为字典键传入request.form,而request.form是字典类型,仅支持单个键取值。需要分别获取三个水果Select组件的选中值,转为整数后求和,再存入session['count']。
修改后的Flask后端代码
@app.route('/checkout', methods=['POST']) def checkout(): print(request.form) # 基础信息存入session session['first_name'] = request.form['first_name'] session['last_name'] = request.form['last_name'] session['student_id'] = request.form['student_id'] # 计算水果总数:取出值转整数后求和 strawberry_num = int(request.form['strawberry']) raspberry_num = int(request.form['raspberry']) apple_num = int(request.form['apple']) session['count'] = strawberry_num + raspberry_num + apple_num # 修正打印语句的格式化语法 print(f"Charging {session['first_name']} for {session['count']} fruits") return render_template("checkout.html")
关键注意点
- Select组件的选中值默认是字符串类型,必须用
int()转换为整数才能执行加法运算 - 原打印语句存在语法错误,已修正格式化字符串的写法,确保能正确输出总数
- 求和结果存入
session['count']后,前端模板中的{{session['count']}}会自动渲染出计算后的总和
内容的提问来源于stack exchange,提问作者Brad
相关产品推荐
相关产品推荐

