如何在没有url_for('static',file_name ='xxx')的情况下在Flask中获取静态文件

时间:2012-12-04 15:34:43

标签: python flask jinja2 static-files

我不想使用url_for('static',file_name ='foo.jpg')来获取模板中的静态文件。

如何以这种方式获取静态文件:

<img src="/pic/foo.jpg" />

感谢

1 个答案:

答案 0 :(得分:17)

您可以设置自己的路由来提供静态文件。添加此方法并更新send_from_directory方法中的静态路径目录,然后您的img标记应该有效。

@app.route('/pic/<path:filename>')
def send_pic(filename):
    return send_from_directory('/path/to/static/files', filename)

对于生产应用,您应该将服务器设置为直接提供静态文件。它会更快并且使用更少的服务器资源,但对于少数用户而言,差异应该不是问题。