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

Flask静态文件夹加载异常:子路由部署后图片路径错误求助

解决方案

以下是针对这个Flask静态文件加载问题的具体解决步骤:

1. 配置Flask应用的子路径前缀

在app.py中添加APPLICATION_ROOT配置,让Flask明确知晓应用挂载的子路由前缀:

from flask import Flask, render_template

app = Flask(__name__)
app.config['APPLICATION_ROOT'] = '/mywebsite'  # 指定子路由前缀

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

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

2. 使用Flask内置函数生成静态文件路径

修改templates/index.html中的图片引用方式,改用url_for函数生成正确的静态资源URL,避免相对路径的解析偏差:

This is index page.

<img src="{{ url_for('static', filename='aaa.jpg') }}" alt="">

原理说明

之前用相对路径static/aaa.jpg时,浏览器会基于当前访问的URL(/mywebsite/)解析路径,导致请求地址不符合Flask的静态资源路由规则。而url_for会结合APPLICATION_ROOT的配置,自动生成带前缀的完整路径/mywebsite/static/aaa.jpg,确保静态资源能被正确加载。

内容的提问来源于stack exchange,提问作者Yao-Chung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 10:22:10