【发布时间】:2013-02-07 13:07:43
【问题描述】:
更新:2 月 22 日根据 Lipis 的要求。我添加了代码来呈现模板。
我在我的网站上开发了一个管理部分,该部分在我的本地环境 (localhost:8080) 中运行良好。当我将应用程序部署到我的 appengine 站点时,当我导航到 http: //myapp/myadmin/ 时会收到 TemplateNotFound 错误,该错误应该会在 admin 目录中获取 default.html 文件。 html 文件位于 templates\admin 目录下。
我的模板的文件结构是:
--app
--templates
--admin
-default.html
-file.html
-file1.html
-file2.html
我正在使用以下代码来创建 Jinja 环境:
FolderPath = os.path.dirname(os.path.dirname(__file__))
jinja_environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(
[
os.path.join(FolderPath,"templates\\admin"),
os.path.join(FolderPath,"templates")
]
)
)
更新——模板渲染代码:
template_values = {}
template = jinja_environment.get_template('default.html')
self.response.out.write(template.render(template_values))
我假设它是导致问题的“FolderPath”变量,但不是 100% 确定。有没有人遇到过这个问题?
- 语言:python 2.7
- 操作系统:Windows 7
- IDE:PyCharms 2.7
错误:
default.html Traceback(最近一次调用最后一次):文件 "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", 第 1511 行,在 call 中 rv = self.handle_exception(请求,响应,e)文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第 1505 行,在 call 中 rv = self.router.dispatch(request, response) 文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第 1253 行,在 default_dispatcher 中 返回 route.handler_adapter(request, response) 文件 "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", 第 1077 行,在 调用 返回 handler.dispatch() 文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第 547 行,正在调度中 返回self.handle_exception(e,self.app.debug)文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第 545 行,正在调度中 返回方法(*args,**kwargs)文件“/base/data/home/apps/s~myapp/0-2-5.365473085936457098/app/controllers/admin.py”, 第 42 行,在获取 模板 = jinja_environment.get_template('default.html') 文件 "/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/environment.py", 第 719 行,在 get_template 中 返回 self._load_template(name, self.make_globals(globals)) 文件 "/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/environment.py", 第 693 行,在 _load_template 模板 = self.loader.load(self, name, globals) 文件 "/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/loaders.py", 第 115 行,加载中 源,文件名,更新 = self.get_source(环境,名称)文件 "/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/loaders.py", 第 180 行,在 get_source 中 raise TemplateNotFound(template) TemplateNotFound: default.html
提前感谢您的帮助!
【问题讨论】:
-
在渲染模板的时候可以粘贴你的python代码吗?