使用python cork获取_id值

时间:2014-08-03 07:25:47

标签: python mongodb bottle

对于正在/正在使用Cork并且知道它如何在内部工作的东西来说,这是一个简单的问题。 基本上在Cork.py脚本中,当创建User()时,它会在此行中验证此_id:

    if session is not None:
        try:
            self.session_creation_time = session['_creation_time']
            self.session_accessed_time = session['_accessed_time']
            self.session_id = session['_id']
        except:
            pass

session ['_ id']不存在,我在会话中看到了用户名而不是_id,我希望_id在我的集合上创建一些DBRef。

查看Cork.py和mongodb_backend.py的代码我没有看到在会话中存储_id的任何内容。

任何人都可以帮助我吗?我应该修改软木库吗?

最简单的响应是创建我自己的查询并使用用户名请求_id,但如果我可以封装_id并在User()类中包含该值,则没有意义。

提前致谢!

1 个答案:

答案 0 :(得分:0)

cork.py - 登录功能:

        if username in self._store.users:
        if self._verify_password(username, password,
                self._store.users[username]['hash']):
            # Setup session data
            usr = self._store.users[username]
            self._setup_cookie(username, usr["_id"])
in _setup_cookie:

    def _setup_cookie(self, username, _id):
    """Setup cookie for a user that just logged in"""
    session = self._beaker_session
    session['username'] = username
    session['_id'] = _id