【问题标题】:Flask url_for serving images and nginx烧瓶 url_for 服务图像和 nginx
【发布时间】:2014-07-02 17:25:16
【问题描述】:

我有一个路由器

@app.route('/images/<filename>')
def images(filename):
    send from(os.path.join('uploads', filename))

我的图片保存在名为“uploads”的目录中。我将 nginx 配置为提供静态文件。

我的问题是当我在 jinja 模板中使用 url_for('images', filename='1.jpg') 时,如果用户单击它,它应该在浏览器中生成类似 src="/images/1.jpg" 的内容链接,nginx会服务文件还是flask服务?

另一个例子: 在模板中使用 url_for('static', filename='style.css') 时,nginx 是否提供服务?

【问题讨论】:

  • 这完全取决于你如何配置 nginx。

标签: python nginx flask


【解决方案1】:

如果遵循以下规则,该解决方案将运行良好:

  • 您确切知道要为您提供哪些静态文件
  • 您基于 jinja 的模板正在生成指向这些文件的正确链接
  • ngingx 已正确配置为提供这些静态文件

在这些(生产)条件下,您的 Python 代码不应获取对这些静态文件的请求,因为它们由 nginx 提供服务。

这是理想的行为,因为它通过 nginx 卸载 python 应用程序,从而可以更有效地为这些文件提供服务。

【讨论】:

    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 2013-07-08
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    • 1970-01-01
    相关资源
    最近更新 更多