没有错误和空浏览器屏幕?

时间:2012-12-20 12:11:01

标签: google-app-engine python-2.7

我有一个非常简单的* .py文件:

import webapp2

from google.appengine.api import users

class MainPage(webapp2.RequestHandler):
    def get(self):
       user = users.get_current_user()

       if user:
           self.response.headers['Content-Type'] = 'text/plain'
           self.response.out.write('Hello, ' + user.nickname())
       else:
           self.redirect(users.create_login_url(self.request.uri))

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

当我在本地运行它并点击'google app engine launcher'上的浏览时,我在浏览器中看到一个空白屏幕,没有任何错误消息或任何内容。

这个代码在同一个文件中正常工作:

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

任何想法为什么? 谢谢!汤姆。

3 个答案:

答案 0 :(得分:1)

此代码没有任何问题,除了缺少导入:

import webapp2

它运行并显示:

  

您好,test @ example.com

您还应该忘记在应用引擎中使用Print。它不是很有用。像在示例代码中一样将输出发送到响应,或使用logging

答案 1 :(得分:0)

尝试

# -*- coding: utf-8 -*-
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import deferred
from google.appengine.api import users

class MainPage(webapp.RequestHandler):
    def get(self, *args, **kwargs):
        user = users.get_current_user()
        if user:
            self.response.headers['Content-Type'] = 'text/plain'
            self.response.out.write('Hello, ' + user.nickname())
        else:
            self.redirect(users.create_login_url(self.request.uri))

application = webapp.WSGIApplication([
  (r'/(.*)', MainPage),
], debug=True)

def main():
  run_wsgi_app(application)

if __name__ == '__main__':
  main()

与app.yaml类似

application: test
version: 1
runtime: python27
api_version: 1
threadsafe: True

handlers:
- url: /.*
  script: test.application

答案 2 :(得分:0)

您可能在使用Google登录网址时遇到问题,请尝试在用户不存在时设置response.write。

if user:
    ...
else:
    self.response.out.write('Hello, ' + user.nickname())