App Engine 用户详细信息到模板

app engine user details into template

我目前正在 google appengine 和 python 中编码。我正在处理用户方面的事情。目前,如果用户经过身份验证,我将通过该用户的登录或注销 URL 以及一些唯一的 URL。 我似乎在为我创建的每个新请求处理程序重复代码。你能给我一些关于如何更有效地做到这一点的建议吗? 谢谢您的帮助。

卡里姆

如果您在处理程序中重复代码,请创建一个 BaseHandler。

使用 webapp2 和 jinja 的 BaseHandler 示例。更多here关于覆盖调度

class BaseHandler(webapp2.RequestHandler):

    def dispatch(self):
        """ override webapp2 dispatch """

       if user_ok():
           super(BaseHandler, self).dispatch()
       else:
           self.abort(401) 

    @webapp2.cached_property
    def jinja2(self):
        return jinja2.get_jinja2(app=self.app)

    def render_template(self, template, **template_args):
        self.response.write(self.jinja2.render_template(template, **template_args))


class YourHandler1(BaseHandler):

    @login_required
    def get(self):

        ....