根据 Flask 自述 文件,蓝图静态文件可在 blueprintname/static
访问。但由于某种原因,它不起作用。
我的蓝图是这样的:
app/frontend/views.py
:
frontend = Blueprint('frontend', __name__,
template_folder='templates',
static_folder='static')
@frontend.route('/') etc...
app/frontend/js/app.js
:我的javascript在 Flask 应用程序中注册的蓝图(路线工作和一切)
当我去 abc.com/frontend/static/js/app.js
时,它只给出 404。
当我按照 Flask 自述文件获取我的静态文件时:
<script src="{{url_for('frontend.static', filename='js/app.js')}}"></script>
输出是
<script src="/static/js/app.js"></script>
这也不起作用。我的根 app/static/
文件夹中没有任何内容。
我无法访问蓝图中的任何静态文件! Flask 读我说它应该工作!
admin = Blueprint('admin', __name__, static_folder='static')
默认情况下,路径的最右侧部分是它在 Web 上公开的位置。因为文件夹在这里称为 static,所以它将在蓝图 + /static 的位置可用。假设蓝图是为 /admin 注册的,静态文件夹将位于 /admin/static。
原文由 Patrick Yan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 static_url_path 参数中包含一个参数,以确保蓝图的静态路径不会与主应用程序的静态路径冲突。
例如: