我正在尝试使template.render()
(import was: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
,但无关紧要。
感谢您的任何建议。
答案 0 :(得分:3)
将/static
添加到app.yaml
会导致/static
中的文件被区别对待。
请参阅http://code.google.com/appengine/docs/python/config/appconfig.html#Static_File_Handlers并注意:
如果您有需要由应用程序代码读取的数据文件,则数据文件必须是应用程序文件,并且不能与静态文件模式匹配。
模板是数据文件。