0

更新时间:2 月 22 日Per Lipis 的请求。我添加了代码来呈现模板。

我在我的网站上开发了一个管理部分,该部分在我的本地环境中运行良好(本地主机:8080)。当我将应用程序部署到我的 appengine 站点TemplateNotFound时,当我导航到http://myapp/myadmin/时出现错误,它应该会在 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 行,调用 rv = self.handle_exception(请求,响应,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 返回 route.handler_adapter(request, response) 文件“/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py”,第 1077 行,调用中 return handler.dispatch() File "/python27_runtime/python27_lib/versions/third_party/webapp2-2.3/webapp2.py", line 547, in dispatch return self.handle_exception(e, self.app.debug) File "/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 template = self.loader.load(self, name, globals) 文件“/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/loaders.py”中,第 115 行,在加载源中,文件名, uptodate = self.get_source(environment, name) File "/python27_runtime/python27_lib/versions/third_party/jinja2-2.6/jinja2/loaders.py",第 180 行,在 get_source raise TemplateNotFound(template) TemplateNotFound: default.html第 180 行,在 get_source raise TemplateNotFound(template) TemplateNotFound: default.html第 180 行,在 get_source raise TemplateNotFound(template) TemplateNotFound: default.html

在此先感谢您的帮助!

4

2 回答 2

1

试试"templates/admin"。那个反斜杠是 Windows 主义。

于 2013-02-22T03:03:29.553 回答
0

理想情况下使用 Linux(可能是 Ubuntu 或 Mint)从长远来看它也会让你头疼

于 2013-02-22T07:32:26.067 回答