如何使用协同程序正确处理龙卷风用户注销状态

时间:2015-09-03 13:16:26

标签: python tornado

简单处理程序:

@gen.coroutine
def get(self):
    current_user = yield self.get_current_user()
    if not current_user:
        self.redirect('/')

    id = current_user['id']
    ...

获取当前用户的功能:

@gen.coroutine
def get_current_user(self):
    cookie = self.get_secure_cookie('user')
    if not cookie:
        return

我有一个简单的处理程序。它检查用户是否已登录,如果current_user为None,则重定向。当用户未登录时出现问题:仍然评估了行id = current_user['id'],因为get_current_user()是一个协程,它将抛出类似TypeError: 'NoneType' object is not subscriptable的异常

如果我想将get_current_user()保留为协程,您将如何正确处理?

0 个答案:

没有答案