python – Django settings.py错误:不支持按文件名导入

我在虚拟环境中运行Django(使用virtualenv),我正在尝试添加自定义开发环境设置文件,以便在我开发时简化应用程序配置.我的计划是使用两行代码执行此操作

if os.environ.get('DEVELOPMENT', None):
    from login import settings_dev

我也尝试过import settings_def和login.settings_dev import *.我的settings_dev.py文件与settings.py文件位于同一目录中,我的应用程序位于名为login的文件夹中.当我运行python login / manage.py syncdb时,我收到此错误:

Error: Import by filename is not supported.

我的搜索不断提出DJANGO_SETTINGS_MODULE(虽然我不确定它是如何发挥所有这一点 – 第一个Django app:]),所以只是一个FYI它在我的settings.py文件中设置如下:

os.environ['DJANGO_SETTINGS_MODULE'] = 'login.settings'

我也尝试在我的终端中导出它,但我得到了同样的错误.

有谁知道我怎么能解决这个/我在这里做错了什么?

最佳答案 在原始settings.py中,最后:

try:
    from settings_dev import *
except ImportError:
    pass

在settings.py所在的目录中创建settings_dev.py,并在其中,在最顶部添加以下两行:

import sys
globals().update(vars(sys.modules['settings']))

现在在此文件中添加所需的任何开发设置.

点赞