You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3 Flask应用:如何避免在代码与HTML中硬编码IPv4地址

Flask应用在Multipass虚拟机中避免硬编码IPv4的方案

核心解决思路

无需硬编码固定IPv4,通过两处关键配置适配IP动态变化的场景:

  1. Flask端绑定所有网络接口
    将Flask启动时的host参数设置为0.0.0.0,替代固定IP。这样应用会监听虚拟机的所有可用网络接口,不管IP如何变化,只要主机能访问虚拟机的当前IPv4,就能通过该IP+指定端口访问应用。
    代码示例:

    if __name__ == '__main__':
        app.run(host='0.0.0.0', port=8080, debug=True)
    
  2. HTML使用相对路径替代绝对地址
    如果HTML文件中有指向Flask路由的链接或资源引用,不要写死完整的http://<固定IP>:<端口>/xxx,改用相对路径。比如:

    • 错误写法:<img src="http://192.168.64.5:8080/static/meme.jpg">
    • 正确写法:<img src="/static/meme.jpg">
      相对路径会自动继承当前访问页面的IP和端口,完美适配IP变化的情况。
  3. 快速获取虚拟机当前IP(可选)
    在主机终端执行Multipass命令,可直接获取虚拟机的IPv4:

    multipass info <你的虚拟机名称> | grep IPv4
    

验证步骤

启动Flask应用后,用虚拟机当前IPv4+8080端口访问页面;重启虚拟机触发IP变更后,再用新IP访问,确认应用正常运行即可。

内容的提问来源于stack exchange,提问作者KidACrimson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:12:48