在Bluemix上打开Flask静态文件

时间:2017-04-05 19:09:44

标签: python flask ibm-cloud

我尝试使用PIL在Flask app的静态文件夹中打开图像。当我在本地运行时,它可以工作。当我部署到Bluemix时,它无法找到图像。

from PIL import Image
jpg = Image.open('static/images/image.jpg')

我发现它可能是os路径的问题,所以我尝试了以下但是它没有解决问题。

import os, sys
from PIL import Image
jpg = Image.open(os.path.join(sys.path[0], 'static/images/image.jpg'))

如何在本地或Bluemix上运行静态文件?

myproject/
    static/
        images/
            image.jpg
    myapp.py

1 个答案:

答案 0 :(得分:1)

您正在使用相对路径,该路径相对于当前工作目录。在开发过程中,您将从应用程序的目录中运行。在生产中,WSGI服务器正在运行应用程序,并且未在该目录中启动。建立绝对路径。 app.static_folder是基本静态文件夹的路径。

os.path.join(app.static_folder, 'images', 'image.jpg')