在Flask中设置静态文件夹路径

时间:2014-12-01 18:14:10

标签: python flask

好像我的静态文件没有正确提供。这就是它现在的样子:

myApp
    __init__.py
    static
       img
       js
         bootstrap.min.js
       etc.

这是我的__init__.py中的应用配置如下所示:

app = Flask(__name__, static_url_path="", static_folder="static")

这是错误:

127.0.0.1 - - [01/Dec/2014 13:12:01] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 -

就url路由而言,没有问题,localhost / home路由到home,localhost /联系路由联系等等。但是找不到静态文件:(我错过了什么?

注意:我在我的Mac上托管这个,纯粹是本地主机

这是我的__init__.py主要方法:

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

以:

运行
python __init.py__

1 个答案:

答案 0 :(得分:6)

看起来您正在使用静态文件网址进行硬编码。您告诉Flask服务它们没有URL前缀 - 默认值为/static - 但日志显示请求转到/static/js/bootstrap.min.js。您可能在模板文件中有类似以下内容。

<script src="/static/js/bootstrap.min.js"></script>

相反,您应该使用url_for为您创建网址。将上述内容更改为

<script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>

这将导致

<script src="/js/bootstrap.min.js"></script>