【问题标题】:how to get static files in Flask without url_for('static', file_name='xxx')如何在没有 url_for('static', file_name='xxx') 的情况下在 Flask 中获取静态文件
【发布时间】:2012-11-22 06:49:16
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 只要/pic/foo.jpg 存在,它应该可以正常工作。你试过了吗?
  • 只是出于好奇——为什么不想使用? :)
  • @Cfreak 谢谢,它工作正常。我之前写错了路径。
  • @IgnasB。我认为通用路径对于 FE 来说更方便和直观,你的意思是什么
  • @Robin,刚刚问过 :) 我想也许你发现了一些性能问题或其他什么。我总是喜欢动态的东西,以防万一我将静态目录更改为另一个或smth,所以我不必担心前一段时间创建的模板我已经忘记存在了:)但这是每个人的选择;)

标签: python flask jinja2 static-files


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 2019-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多