我正在尝试配置我的金字塔应用
但在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.
出了什么问题?
答案 0 :(得分:2)
这实际上是pyramid_debugtoolbar< = 0.9中的错误。升级到0.9.1或禁用调试工具栏。
答案 1 :(得分:1)
如果您仍然对pymongo和金字塔感兴趣,我建议您使用我的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 :(得分:0)
检查您的MongoDB URI,它应该采用此处描述的格式
http://www.mongodb.org/display/DOCS/Connections
的mongodb:// [用户名:密码@]主机1 [:端口1] [,主机2 [:端口2],... [,hostN [:端口n]]] [?/ [数据库] [选项]]
答案 3 :(得分:0)
我目前正在使用此处找到的解决方法: https://groups.google.com/group/pylons-discuss/browse_thread/thread/394fb7ae9838f840/5d7a24a1d899844f?hl=fr&lnk=gst&q=html+mongodb+#5d7a24a1d899844f
在__init__.py
中,就在
conn = pymongo.Connection(db_uri)
添加:
conn.__html__ = lambda: "mongodb connection"
这就足以使用金字塔食谱中描述的mongodb调试工具栏。