Joy 宇 2023-01-17 11:05 采纳率: 77.8%
浏览 47
已结题

(Python, Redirect ) 使 Flask URL 在线(online) 重新定向

我正在做 Flask URL 重定向
问题:如何让 Flask URLs 重定向, 从本地localhost 到online 也能有效果?例如让线上的 WinSCP 中做同样的事情
大多数网上的演示都是在本地运行http://127.0.0.1:5000/ 中运行的 py 脚本

  • 演示的 .py 脚本在本地运行,能正常工作
from flask import Flask, redirect, url_for

app = Flask(__name__)


@app.route("/") 
def index():
    return "hello world!"


@app.route("/english/start")
def go_to_DK_page():
    return redirect("http://192.168.0.206:8080/english/product_dk.html")

if __name__ == "__main__":
    app.run(debug=True)

因此我希望将其在线上也有一样效果,匹如,将下面的 .html 发布到 WinSCP (或如果还有其他方法也请跟我说)

  • .html (name: test_0109_004.html)
<script type=module src=main_joy_01_12.js></script><my-header></my-header><html>

fix title/contaxt

this is the data extract from mysql: Nordic85678

<py-script> from flask import Flask, redirect, url_for app = Flask(__name__) @app.route("/") def index(): return "hello world!" @app.route("/english/start") def go_to_DK_page(): return redirect("http://192.168.0.206:8080/english/product_dk.html") if __name__ == "__main__": app.run(debug=True) </py-script> </html> <my-footer></my-footer>

enter image description here

  • 写回答

5条回答 默认 最新

  • 流比 2023-01-17 11:15
    关注

    首先,您需要将您的网络配置为公共网络,这样您的虚拟机就能与外界通信。

    其次,在代码中,您需要将app.run()中的参数host改为0.0.0.0,这样可以允许外界访问您的Flask服务。

    示例代码:

    if __name__ == "__main__":
        app.run(debug=True, host='0.0.0.0')
    
    

    最后,您需要将路由重定向的URL更改为您的公网IP地址,这样外界才能访问到重定向的页面。

    示例代码:

    @app.route("/english/start")
    def go_to_DK_page():
        return redirect("http://your_public_ip:8080/english/product_dk.html")
    
    

    此外,如果您要在线上部署,建议使用类似gunicorn这样的生产级Web服务器来部署您的Flask应用程序。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月6日
  • 已采纳回答 1月30日
  • 创建了问题 1月17日

悬赏问题

  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: