【问题标题】:ImproperlyConfigured at / port must be an instance of int django mongodbImproperlyConfigured at /port 必须是 int django mongodb 的实例
【发布时间】:2012-10-19 19:14:36
【问题描述】:

尝试将 Django-MongoDB 开发环境转移到生产环境

不断从网页界面收到以下错误:

    ImproperlyConfigured at /
    port must be an instance of int

在终端上,如果我运行

    python manage.py syncdb


    File "/home/user/lib/python-environments/djangomongo/local/lib/python2.7/site-packages/pymongo/connection.py", line 209, in __init__
        raise TypeError("port must be an instance of int")
    django.core.exceptions.ImproperlyConfigured: port must be an instance of int

【问题讨论】:

  • 您的settings.pyPORT = '1234' 中有某处吗?应该是PORT = 1234

标签: mongodb pymongo django-nonrel


【解决方案1】:

仔细检查你是如何设置你的 pymongo Connection 对象的: http://api.mongodb.org/python/current/api/pymongo/connection.html 仅从错误消息来看,您似乎有一个不正确的端口参数。我还猜测,如果它在开发中而不是在生产中工作,那么您会在 prod 中丢失一些配置值。

【讨论】:

    【解决方案2】:

    我还没有 100% 工作的系统,但这里的问题是您的 django-nonrel 版本和 pymongo 之间的不兼容。对于 django 1.3 的 django-nonrel 分支,我需要使用 pymongo 1.11(不确定任何 2.X 的 pymongo 是否可以工作)。

    【讨论】:

      【解决方案3】:

      我在使用环境变量时遇到了这个问题。它们作为字符串注入。您需要将 port 转换为 int 才能开始。

      【讨论】:

        猜你喜欢
        • 2019-03-21
        • 1970-01-01
        • 1970-01-01
        • 2017-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多