MainPage 處理程式 views.py

一般匯入,使用 jinja2 將模板填充到 htmls 中。

import jinja2
import webapp2

使用使用者 API 的重要匯入:

from google.appengine.api import users

Jinja 環境的設定:[在示例中選擇將資訊填充到前端的技術]

JINJA_ENVIRONMENT = jinja2.Environment(
       loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
       extensions=['jinja2.ext.autoescape'],
       autoescape=True)

具體處理程式:

class MainPage(webapp2.RequestHandler):
   def get(self):

       user = users.get_current_user()
       if user:
           url = users.create_logout_url(self.request.uri)

你可以在此處為使用者新增更多邏輯 **

       else:
           url = users.create_login_url(self.request.uri)

使用 jinja2 傳遞資訊的模板。對於此示例,使用者物件和 url 字串。

       template_values = {
           'user': user,
           'url': url,
       }

       JINJA_ENVIRONMENT.add_extension('jinja2.ext.do')

使用 index.html 示例。 [傳統的 html 頁面]

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