【问题标题】:TemplateNotFound When Deployed to Google App Engine Site部署到 Google App Engine 站点时的 TemplateNotFound
【发布时间】: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代码吗?

标签: google-app-engine jinja2


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 感谢 peterretief 的建议,但这并不能回答我的问题。
    猜你喜欢
    • 2015-02-19
    • 2018-12-16
    • 2022-12-14
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多