2012-03-26 76 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

相關問題