У меня есть несколько веб-страниц, которые я хочу, чтобы люди вошли в систему, чтобы увидеть. Я использую Facebook Connect для входа в систему и запускаю сайт на сервере Tornado.
Прямо сейчас я делаю это:
class Home(BaseHandler):
def get(self):
if not self.current_user:
self.redirect("/")
else:
context = dict(current_user=self.current_user, facebook_app_id=FACEBOOK_APP_ID)
self.render("basic/home.html", **context)
Где BaseHandler - модифицированный обработчик, который включает метод self.current_user, который возвращает либо пользовательский объект, либо None, если никто не вошел в систему.
Мне было интересно, как лучше переписать это как декоратор, который я мог бы разместить на каждом обработчике, который я хочу заблокировать?