小李想摆烂 2023-09-05 08:40 采纳率: 33.3%
浏览 3

关于#python#的问题:为什么在宝塔里面不能重定向到result.html

为什么在宝塔里面不能重定向到result.html

@app.route('/prediction', methods=["GET", "POST"])
def prediction():
        lg = joblib.load(r"/static/lg_models/Logistic.m")
        prediction = lg.predict_proba(input_features)[0][1]
        return redirect(url_for('result'))
    return render_template('prediction.html')




  • 写回答

2条回答 默认 最新

  • qq_37749055 2023-09-05 08:47
    关注

    从你的代码中看,你试图在 Flask 应用中使用 redirect 来重定向到一个叫做 'result' 的页面。然而,url_for 需要一个函数名,而不是一个静态的URL。

    首先,你需要定义一个名为 result 的路由,这样 Flask 才知道当 'result' URL 被请求时应该运行哪个函数。例如:

    @app.route('/result')
    def result():
        return render_template('result.html')
    

    然后,你可以使用 url_for 函数来生成 'result' 页面的 URL。注意,你需要将 'result' 传递给 url_for 函数,而不是直接写 'result'。例如:

    return redirect(url_for('result'))
    

    这样,当 '/prediction' URL 被请求并且 prediction 函数运行完成后,redirect 函数会告诉 Flask 将请求重定向到 '/result' URL。然后,result 函数会被运行并返回 'result.html' 页面。

    另外,注意你的 return 语句的嵌套可能有问题。你需要在 prediction() 函数的末尾返回 redirect(url_for('result')),否则这个 redirect 不会被执行。例如:

    @app.route('/prediction', methods=["GET", "POST"])
    def prediction():
            lg = joblib.load(r"/static/lg_models/Logistic.m")
            prediction = lg.predict_proba(input_features)[0][1]
            return redirect(url_for('result'))  # 这里应该是在 prediction() 函数的末尾
    

    希望这个解答能帮到你!

    评论

报告相同问题?

问题事件

  • 创建了问题 9月5日

悬赏问题

  • ¥300 寻抓云闪付tn组成网页付款链接
  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题