【问题标题】:Django can't find settingsDjango 找不到设置
【发布时间】:2011-11-23 10:29:32
【问题描述】:

我有一个 Django 项目,其中包含一个“config”文件夹,其中有一个 settings_dev.py 文件,这是我的设置文件。

如果我尝试对 manage.py 执行任何操作,它会抱怨找不到我的设置文件,即使我通过 --settings 选项明确提供它,例如

python manage.py syncdb --settings=config.settings_dev
Error: Can't find the file 'settings.py' in the directory containing 'manage.py'. It appears you've customized things.
You'll have to run django-admin.py, passing it your settings module.

但是,如果我将“config”文件夹重命名为“settings”,它可以正常工作。例如

python manage.py syncdb --settings=settings.settings_dev

工作正常。

我还需要指定什么才能知道我的设置文件夹实际上名为 config?

【问题讨论】:

  • 您是否真的按照错误提示“运行 django-admin.py,将您的设置模块传递给它”?
  • 配置目录是一个包吗?里面有 init.py 吗?

标签: django settings


【解决方案1】:

查看manage.py。它尝试导入设置而不是 conf。你必须修改你的 manage.py 文件

【讨论】:

  • 我之前看过manage.py,但没想到要编辑它。谢谢!
【解决方案2】:

在指向配置模块的项目文件夹中创建通用 settings.py。不要忘记配置文件夹中的__init__.py。这可能比修改 manage.py 更好。

#!/usr/bin/env python
from django.core.management import setup_environ
try:
    import config.settings as settings
except ImportError:
    import sys
    sys.stderr.write("Couldn't find the settings.py module.")
    sys.exit(1)
setup_environ(settings)

【讨论】:

    【解决方案3】:

    看看这个答案:

    如果 settings.py 中存在导入错误,也会出现此错误。

    https://stackoverflow.com/questions/6036599/bizarre-error-importing-settings-in-django#=

    【讨论】:

      猜你喜欢
      • 2011-03-20
      • 2011-07-01
      • 2016-12-03
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2013-07-20
      • 2013-07-18
      相关资源
      最近更新 更多