AttributeError:'MainHandler'对象没有属性'create_login_url'

时间:2014-10-06 16:01:14

标签: python google-app-engine

我在谷歌应用引擎上有一个问题。我直接从Google App Engine复制了此代码,但不知何故它没有按预期工作。它总是给我错误:

self.redirect(self.create_login_url(self.request.uri))
AttributeError: 'MainHandler' object has no attribute 'create_login_url'

这是什么意思?

以下是我的代码

from google.appengine.api import users

import webapp2


class MainPage(webapp2.RequestHandler):

def get(self):
    # [START get_current_user]
    # Checks for active Google account session
    user = users.get_current_user()
    # [END get_current_user]

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


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



=============================================================================================

 and my app.yaml
 application: your-app-id
 version: 1
 runtime: python27
 api_version: 1
 threadsafe: true

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

1 个答案:

答案 0 :(得分:0)

你的缩进看起来很糟糕。确保第def get(self):行缩进超过行class MainPage(webapp2.RequestHandler):

class MainPage(webapp2.RequestHandler):

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

application = webapp2.WSGIApplication([
        ('/', MainPage),
        ], debug=True)
相关问题