更新时间:2月22日 Per 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%肯定。有没有人遇到这个问题?
错误:
default.html Traceback(最近一次调用最后一次):文件 “/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py” 第1511行,致电 rv = self.handle_exception(request,response,e)文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第1505行,致电 rv = self.router.dispatch(request,response)文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第1253行,在default_dispatcher中 return route.handler_adapter(request,response)文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第1077行,致电 return handler.dispatch()文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第547行,发送 return self.handle_exception(e,self.app.debug)文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”, 第545行,在发送中 return方法(* args,** kwargs)文件“/base/data/home/apps/s~myapp/0-2-5.365473085936457098/app/controllers/admin.py”, 第42行,在得到 template = jinja_environment.get_template('default.html')File“/ python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/environment.py”, 第719行,在get_template中 return self._load_template(name,self.make_globals(globals))File “/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/environment.py” 第693行,在_load_template中 template = self.loader.load(self,name,globals)文件“/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/loaders.py”, 第115行,载入中 source,filename,uptodate = self.get_source(environment,name)文件 “/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/loaders.py” 第180行,在get_source中 提升TemplateNotFound(模板)TemplateNotFound:default.html
提前感谢您的帮助!
答案 0 :(得分:1)
试试"templates/admin"
。反斜杠的事情是Windows主义。
答案 1 :(得分:0)
理想情况下使用Linux(可能是Ubuntu或Mint)从长远来看它也会让你头痛不已