Flask url_for服务图像和nginx

时间:2014-05-14 14:59:36

标签: python nginx flask

我有一台路由器

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

我的图片保存在名为“上传”的某个目录中。我配置nginx来提供静态文件。

我的问题是当我在jinja模板中使用url_for(&#39; images&#39;,filename =&#39; 1.jpg&#39;)时应生成类似src =&#34; / images的内容/1.jpg"在浏览器中,如果用户单击此链接,nginx会将文件或烧瓶提供给它吗?

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

1 个答案:

答案 0 :(得分:0)

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

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

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

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