Какой путь к файлам в myapp / static на AppEngine - PullRequest
2 голосов
/ 04 августа 2011

Я хочу добавить объекты, основанные на информации из файла .csv (назовите его info.csv), к моим моделям, когда проект запускается в Google appengine (я использую django-nonrel).
Мой подход заключается в написании выделенного util.py в myapp, который называется view.py. util.py должен прочитать info.csv и инициировать объекты в базе данных.

Однако выдает ошибку "No such file or directory: ... ". Размещение файла в myapp/static folder вызывает другую проблему.

Как мне это сделать? Есть ли более умный способ решения этой проблемы? Большое спасибо!

Ответы [ 2 ]

4 голосов
/ 04 августа 2011

Для эффективности App Engine хранит и обслуживает статические файлы отдельно из файлов приложений. Статические файлы недоступны в файловая система приложения . Если у вас есть файлы данных, которые необходимо прочитать согласно коду приложения, файлы данных должны быть файлами приложения, и не должен совпадать со статическим шаблоном файла.

Ссылка здесь

Чтобы получить доступ к вашему файлу, сохраните его в том же каталоге вашего скрипта и получите к нему доступ примерно так:

file_path = os.path.join(os.path.dirname(__file__), 'info.csv')
your_file = open(file_path)
0 голосов
/ 05 августа 2011

Я также видел и использовал этот шаблон проектирования:

в config.py:

INFO: [a,b,c] #or whatever would otherwise go in info.csv

в views.py:

import config

your_data = config.INFO
...