我有一个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?
答案 0 :(得分:3)
查看manage.py。它尝试导入设置而不是conf。您必须修改manage.py文件
答案 1 :(得分:1)
在项目文件夹中创建指向配置模块的通用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)
答案 2 :(得分:0)
看看这个答案:
如果settings.py中存在导入错误,也会发生此错误。
https://stackoverflow.com/questions/6036599/bizarre-error-importing-settings-in-django#=