Как вывести список файлов в статический каталог? - PullRequest
8 голосов
/ 25 января 2009

Я играю с Google App Engine и Python и не могу перечислить файлы статического каталога. Ниже приведен код, который я сейчас использую.

app.yaml

- url: /data
  static_dir: data

Python-код для перечисления файлов

myFiles = []
for root, dirs, files in os.walk(os.path.join(os.path.dirname(__file__), 'data/') ):
    for name in files:
        full_name = os.path.join(root, name)
        myFiles.append('%s;%s\n' % (name, datetime.fromtimestamp(os.stat(full_name).st_mtime)))

Когда я запускаю этот код локально на моей машине, все в порядке. У меня есть скрипт Python в корне каталога, и он просматривает файлы в каталоге данных. Однако, когда я загружаю и запускаю точно такой же код в GAE, он не работает. Мне кажется, что структура каталогов моего приложения точно не реплицируется в Google App Engine. Где находятся статические файлы?

Спасибо!

Ответы [ 3 ]

7 голосов
/ 25 января 2009

https://developers.google.com/appengine/docs/python/config/appconfig#Python_app_yaml_Static_file_handlers

Они не там, где вы думаете, GAE помещает статический контент в GoogleFS, что эквивалентно CDN. Идея заключается в том, что статический контент предназначен для прямой доставки пользователям, а не для хранения файлов, которыми вы можете манипулировать. Кроме того, GAE имеет ограничение в 1 КБ, и было бы трудно контролировать это правило, если бы вы могли манипулировать вашим статическим хранилищем файлов.

2 голосов
/ 25 января 2009

Вот проект, который позволяет вам просматривать ваши статические файлы: http://code.google.com/p/appfilesbrowser/

И вот здесь должен увидеть список рецептов для appengine: http://appengine -cookbook.appspot.com / (Я узнал об этом проекте здесь недавно)

0 голосов
/ 25 января 2009

Вы не можете получить доступ к файлам, загруженным как статический контент программным способом - они не устанавливаются на сервер вместе с вашим приложением, скорее, они обслуживаются напрямую. Если вам действительно нужен доступ к ним, вы можете удалить статический обработчик файлов и обслуживать их самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...