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

Rob*_*bin 10 python static-files jinja2 flask

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

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

<img src="/pic/foo.jpg" />
Run Code Online (Sandbox Code Playgroud)

谢谢

i_4*_*got 17

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

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

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