我使用Google App Engine来托管我的网站,这主要是静态页面.但是有一部分我需要从服务器中的文件夹中获取图像列表,并使用JavaScript动态地将这些图像添加到页面中.
我在python脚本中使用os.walk(“static / images / temp / 1.jpg”)在我的本地机器上工作.但在部署网站后,它不起作用. python脚本返回空.是否有不同的方法来获取Google App Engine中的静态文件列表?
最佳答案
主要问题是静态目录中的文件(我假设您用来提供文件)存储在与代码不同的位置,因此不在代码的文件目录中.
您可以做的一件事(对于类似问题,请参阅here)是在您的app.yaml中未将其声明为static_dir(或根本不是)的另一个目录中创建符号链接到您的文件(或只是复制它们).然后它将与您的应用程序代码一起使用,您可以使用os引用它.例如,这里有一些非常简单的代码,它遍历根目录中名为upload_stuff的目录中的文件:
class MainPage(webapp2.RequestHandler):
def get(self):
path = os.path.join(os.path.dirname(__file__),'upload_stuff')
for filename in os.listdir(path):
# Here you can do what you need with the files
self.response.out.write(filename)