AppEngine: загрузка шаблонов из статического каталога (не только '/') - PullRequest
1 голос
/ 29 июня 2011

Я пытаюсь заставить template.render() (импорт был: from google.appengine.ext.webapp import template) использовать шаблон, расположенный в каталоге, отличном от корня приложения.

У меня есть каталог с именем staticгде я хотел бы сохранить свои шаблоны.Или, возможно, я изменю это на static/templates позже, но это не имеет значения.

Проблема?TemplateDoesNotExist: index.html, печальное исключение.

Это:

path = os.path.join(os.path.dirname(__file__), 'index.html')
logging.debug(path)
self.response.out.write(template.render(path, template_values))

.. работает, но это:

path = os.path.join(os.path.dirname(__file__), 'static/index.html')
logging.debug(path)
self.response.out.write(template.render(path, template_values))

.. - нет.

/static был добавлен к app.yaml, хотя это не должно иметь значения.

Спасибо за любой совет.

1 Ответ

3 голосов
/ 29 июня 2011

Добавление /static к app.yaml делает причиной того, что файлы в /static обрабатываются по-разному.

См. http://code.google.com/appengine/docs/python/config/appconfig.html#Static_File_Handlers и примечание:

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

Шаблоны - это файлы данных.

...