2012-03-26 45 views
1

代码是python + mongoengine错误,int不是int吗?

mongoengine.connect('admin', host='xxx.dotcloud.com', port=16333 , username='root', password='pass')

,它显示该错误消息:

09:37:43 [www.0] raise TypeError("port must be an instance of int")

我试过int(16333),仍然没有工作。

我是新来的蟒蛇,你能给我一些建议吗?我完全困惑。

回答

2

您可以放心,16333确实是一个int

>>> isinstance(16333, int) 
True 

所以,这个问题必须来自其他地方。很可能您的MongoDB中设置了无效的端口号configuration file,并且connect()会尝试解析它,即使您提供了port参数。

+0

感谢您的回复。我已经评论了一些仅适用于ORM的功能,然后才能正常工作! – bxshi 2012-03-26 10:08:25

+0

我对这种配置并不熟悉,但我建议你检查'settings.py'并仔细检查它是否没有声明一个不是数字的port变量。 – 2012-03-26 10:09:47

+0

这是因为我添加了一些基于ORM的功能,如身份验证和会话。在这个文件中没有定义变量'port'。这真的很奇怪。无论如何,问题解决了。再次感谢! – bxshi 2012-03-26 10:12:12

相关问题