页面并不总是呈现

时间:2009-06-12 04:35:24

标签: python google-app-engine

在Google App Engine中,我有以下代码,显示一个简单的HTML页面。

import os

from google.appengine.ext.webapp import template
from google.appengine.ext import webapp

class IndexHandler(webapp.RequestHandler):
  def get(self):
    template_values = { }

    path = os.path.join(os.path.dirname(__file__), '../templates/index.html')
    self.response.out.write(template.render(path, template_values))

问题是页面并不总是呈现。 index.html是一个简单的“Hello World!”。几页刷新后,页面显示正确(即找到index.html文件...)。我试图在最后调用flush,但它没有帮助。我可以使用SDK和他们的服务器重新调用它。

我错过了什么吗?有人知道发生了什么吗?

由于

2 个答案:

答案 0 :(得分:3)

您的处理程序脚本(app.yaml引用的脚本)具有main()函数,但最后需要此节:

if __name__ == '__main__':
  main()

正在发生的事情是,您的脚本第一次在给定的解释器中运行时,它会解释您的主脚本,它不执行任何操作(因此返回空白响应)。在后续调用中,解释器只执行main()(记录的优化),按预期生成页面。添加上面的节将导致它在初始导入时执行main。

答案 1 :(得分:0)

无法重现 - 目录已更改为./templates(我的设置中没有../templates),并且添加了通常的main功能,并且此脚本已分配到app.yaml到某个任意网址,每次都成功地提供“Hello World”。猜猜我们需要更多信息来帮助 - 记录条目(可能在这里添加logging.info个电话?),app.yamlmain等等......