【发布时间】:2012-06-15 04:20:43
【问题描述】:
我正在努力让 Jinja2 与 Google AppEngine 一起工作。我的 main.py 代码如下:
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': 'SomeGuy',
'verb': 'extremely enjoy'
}
template = jinja_environment.get_template('index.html')
self.response.out.write(template.render(template_values))
webapp2.WSGIApplication([('/', MainPage)], debug=True)
这已经让我好几个小时了,如果能得到一些帮助,我将不胜感激。
更新:
我已经稍微更改了代码以更新情况。日志告诉我:
ImportError: <module 'main' from '/base/data/home/apps/s~devpcg/1.359633215335673018/main.pyc'> has no attribute app
以上代码均来自我的 main.py 文件夹。我在名为 templates 的文件夹中有一个文件 index.html,它与 main.py 文件位于同一目录中。
【问题讨论】:
-
我觉得不错。你有任何错误吗?您是否尝试过部署到 GAE?如果是这样,它看起来如何?您的
app.yaml中是否指定了 jinja2?jinja_environment行只是告诉 jinja 在哪里可以找到相对于当前文件路径的模板目录。因此,如果您在main.py文件中有该代码,则您需要一个与main.py文件处于同一级别的templates目录。 -
这是一个非常简单的——但确认可以工作! -- 可以帮助您设想事物如何组合在一起的应用程序:bitbucket.org/abernier/anotherday/src 但您的代码看起来确实不错。
-
当我部署到 GAE 时,它只是给我一个 500 服务器错误。而且我没有收到任何其他错误
-
尝试查看日志以了解实际错误是什么。这些可以使用管理工具查看。
-
它告诉我:IndentationError: unexpected indent INFO 2012-06-15 04:33:02,917 dev_appserver.py:2904] "GET / HTTP/1.1" 500 -
标签: python google-app-engine jinja2