Pymongo与Pyramid配置
我正在尝试像下面这样配置我的Pyramid应用:
但是在这一行 config.registry.settings['mongodb_conn'] = conn
时出现了错误:
File "/usr/local/lib/python2.6/dist-packages/pymongo-2.0.1-py2.6-linux-i686.egg/pymongo/database.py", line 682, in __call__
"failing because no such method exists." % self.__name)
TypeError: 'Database' object is not callable. If you meant to call the '__html__' method on a 'Connection' object it is failing because no such method exists.
这是怎么回事呢?
4 个回答
0
检查一下你的MongoDB连接地址,它应该按照这里描述的格式来写。
http://www.mongodb.org/display/DOCS/Connections
这个连接地址的格式是这样的:mongodb://[用户名:密码@]主机1[:端口1][,主机2[:端口2],...[,主机N[:端口N]]][/[数据库][?选项]]
1
如果你对pymongo和pyramid还感兴趣,我推荐你使用我的pyramid_mongo
这个包。
你可以在这里找到它:
http://pypi.python.org/pypi?:action=display&name=pyramid_mongo&version=0.1
文档也在这里:
http://packages.python.org/pyramid_mongo/
这个包的功能比单纯的框架要多一点。跟pyramid_mongodb不同,它试图模仿zodb这个包,还可能有一些其他很酷的功能,比如支持遍历。我一直没能抽出很多时间来完善它,但总有一天会发布的。目前来说,用mongodb已经足够了。
2
这其实是一个在pyramid_debugtoolbar版本0.9及以下的错误。你可以升级到0.9.1版本,或者关闭调试工具栏。