gpt4 book ai didi

python - 使用 Google App Engine 和 Jinja2 的 TemplateNotFound : index. html

转载 作者:太空狗 更新时间:2023-10-30 00:41:33 24 4
gpt4 key购买 nike

我正在尝试使用 jinja2 构建我的第一个 GAE 应用程序。在克服了十几个小错误之后,现在我坚持这样做:

追溯(最近的调用最后):

File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1536, in __call__
rv = self.handle_exception(request, response, e)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1530, in __call__
rv = self.router.dispatch(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1278, in default_dispatcher
return route.handler_adapter(request, response)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 1102, in __call__
return handler.dispatch()
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 572, in dispatch
return self.handle_exception(e, self.app.debug)
File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2\webapp2.py", line 570, in dispatch
return method(*args, **kwargs)
File "C:\Users\CG\Documents\udacity\HiMon\main.py", line 31, in get
template = jinja_environment.get_template('index.html')
File "C:\Program Files (x86)\Google\google_appengine\lib\jinja2\jinja2\environment.py", line 719, in get_template
return self._load_template(name, self.make_globals(globals))
File "C:\Program Files (x86)\Google\google_appengine\lib\jinja2\jinja2\environment.py", line 693, in _load_template
template = self.loader.load(self, name, globals)
File "C:\Program Files (x86)\Google\google_appengine\lib\jinja2\jinja2\loaders.py", line 115, in load
source, filename, uptodate = self.get_source(environment, name)
File "C:\Program Files (x86)\Google\google_appengine\lib\jinja2\jinja2\loaders.py", line 180, in get_source
raise TemplateNotFound(template)
TemplateNotFound: index.html

这是我的 yaml 文件:

application: himother
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico

- url: .*
script: main.app

libraries:
- name: webapp2
version: "2.5.1"
- name: jinja2
version: "2.6"

这是我的代码:

import os
import webapp2

import jinja2

jinja_environment = jinja2.Environment(autoescape=True,
loader=jinja2.FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates')))

class MainPage(webapp2.RequestHandler):
def get(self):
template_values = {
'name': 'Serendipo',
'verb': 'extremely happy'
}

template = jinja_environment.get_template('index.html')
self.response.out.write(template.render(template_values))

app = webapp2.WSGIApplication([('/', MainPage)],
debug=True)

这是我的 .html 模板:

<!DOCTYPE html>
<html>
<head>
<title>Look Ma, I'm using Jinja!</title>
</head>
<body>
Hi there - I'm {{ name }}, and I {{ verb }} programming!
</body>
</html>

尽管有错误消息,但我有一个名为“templates”的文件夹,并在其中创建了 index.html 文件:

enter image description here

enter image description here

enter image description here

我也安装了 jinja2。

现在有人知道这个错误的原因吗?

最佳答案

您可能应该使用 webapp2_extras 中包含的 jinja2 版本。

获取此设置的示例在这里:http://webapp-improved.appspot.com/api/webapp2_extras/jinja2.html#webapp2_extras.jinja2.Jinja2

主要区别在于,您无需自己设置jinja2.Environment,而是...

from webapp2_extras import jinja2
jinja = jinja2.get_jinja2(app=self.app)
jinja.render_template("index.html")

您还可能需要在 app.yamllibraries 部分包含 jinja2:

libraries:                                                                      
- name: jinja2
version: "2.6"

关于python - 使用 Google App Engine 和 Jinja2 的 TemplateNotFound : index. html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11015084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com