0
我正在使用内置于Google应用引擎中的OpenID身份验证,并试图使当前登录的用户信息自动在模板中可用。在Google应用引擎上的模板中访问用户的OpenID信息(tipfy)
做手工可能是这样的:
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是如何工作的,但并不完全明白。
干杯。
这看起来像它会正常工作。谢谢。我在考虑django,并在中间件和上下文处理器之间感到困惑。 – codebyren 2011-03-30 03:54:50