Flask表单接收整数输入返回空白页问题求助
问题排查与解决方案
核心问题1:Response参数类型错误导致内部异常
Flask的Response对象无法直接接收整数类型参数,当你传入upload_value(int类型)时,会触发未捕获的后台异常,最终返回空白页面(即便开启DEBUG模式,该参数错误也不会直接在前端显示)。
核心问题2:表单缺少提交按钮
当前HTML表单仅包含输入框,无明确提交按钮,用户输入ID后无法直观触发提交动作(部分浏览器支持回车提交,但体验不友好)。
解决方案
修改main.py的uploadfiles函数
将整数结果转换为字符串后返回,Flask可直接返回字符串并自动包装为Response对象:
@app.route("/recommend",methods=['GET','POST']) def uploadfiles(): upload_value=request.form.get('number',type=int) # 直接返回格式化后的字符串结果 return f"您输入的用户ID是:{upload_value}"
修改userid.html的表单代码
添加提交按钮,并移除不必要的enctype属性(无文件上传需求时无需设置):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Recommendation System</title> </head> <body> <h1 style="background-color:DodgerBlue;"></h1> <h2> Course Recommendation System</h2> <h3>Enter User ID to see recommended courses</h3> <form action='/recommend' method="post"> <label>Enter your userID:</label> <input type="number" name="number" required /> <!-- 添加提交按钮 --> <button type="submit">提交</button> </form> </body> </html>
修改完成后,用户输入整数ID并提交,页面会正常显示输入的用户ID内容,不再返回空白。
内容的提问来源于stack exchange,提问作者Sridevi Prabhuraj
相关产品推荐
相关产品推荐

