【问题标题】:Question about getting asyncmongo query result in Tornado webTornado web获取asyncmongo查询结果的问题
【发布时间】:2011-04-06 23:17:12
【问题描述】:

嗨 我知道这对于不熟悉异步方法的用户来说是一个常见问题...... 我想使用 asyncmongo 查询带有用户 ID 的 db 以检查用户是否登录,但显然这不起作用,我不想在回调中使用 self.render。

感谢您的帮助。

类 MainPage(BaseHandler):

def get(self):

    if not self.current_user:
     ####  get no result here 
    .............

get_current_user 函数使用 asyncmongo 方法:

def get_current_user(self):
    user_id = self.get_secure_cookie("user")
    if not user_id: return None 
    self.db.users.find({'user_id': bson.ObjectId(str(user_id))}, limit=1, callback=self._on_response)

def _on_response(self, response, error):
    if error:
        raise tornado.web.HTTPError(500)
    how to return the value of response instead of self.render('template',response) ?

【问题讨论】:

    标签: python mongodb tornado


    【解决方案1】:

    【讨论】:

    • 谢谢,我将使用同步方法获取值。
    【解决方案2】:
    def _on_response(self, response, error):
        if error:
            raise tornado.web.HTTPError(500)
        self.render(str(response))
    

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多