我正在使用内置在 Google 应用引擎中的 OpenID 身份验证,并尝试使当前登录的用户信息在模板中自动可用。
手动执行可能类似于:
from google.appengine.api import users
from tipfy import RequestHandler
from tipfy.ext.jinja2 import render_response
def WhateverHandler(RequestHandler):
def get(self):
user = users.get_current_user()
return render_response('template_name.html', user=user)
# great, now I can use {{ user.nickname }} or whatever in the template
我不想在每个请求处理程序中编写此代码,因此希望能够添加某种中间件来处理它(我主要在这里猜测):
from google.appengine.api import users
class GoogleUsersMiddleware(object)
def post_dispatch(self, handler, response):
user = users.get_current_user()
# now somehow add user to the response?
return response
有任何想法吗?我试过看看tipfy 的SessionMiddleware 是如何工作的,但不太明白。
干杯。