驗證使用者

這部分的 Python Guestbook 程式碼逐步操作說明如何驗證使用者,並對登入的使用者顯示自訂問候語。

本頁面是多頁教學課程的一部分。如要從頭開始,並查看設定的操作說明,請前往建立留言板頁面。

登入的使用者

MainPage 類別定義了 HTTP GET 請求對根目錄 '/' 的處理常式。這個處理程序會確認使用者是否有登入:

class MainPage(webapp2.RequestHandler):

    def get(self):
        guestbook_name = self.request.get('guestbook_name',
                                          DEFAULT_GUESTBOOK_NAME)
        greetings_query = Greeting.query(
            ancestor=guestbook_key(guestbook_name)).order(-Greeting.date)
        greetings = greetings_query.fetch(10)

        user = users.get_current_user()
        if user:
            url = users.create_logout_url(self.request.uri)
            url_linktext = 'Logout'
        else:
            url = users.create_login_url(self.request.uri)
            url_linktext = 'Login'

        template_values = {
            'user': user,
            'greetings': greetings,
            'guestbook_name': urllib.quote_plus(guestbook_name),
            'url': url,
            'url_linktext': url_linktext,
        }

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

若使用者已經登入您的應用程式,get_current_user() 方法會返回 User 物件,且 app 中會顯示使用者的暱稱。若使用者尚未登入,則代碼會將使用者重新導向到 Google 帳戶登入的畫面。使用者登入之後,Google 帳戶的登入機制會將使用者返回 app 頁面。

詳情請參閱 使用者 API

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Python 2 適用的 App Engine 標準環境