我在虚拟环境中运行Django(使用virtualenv),我正在尝试添加自定义开发环境设置文件,以便在我开发时简化应用程序配置。我的计划是用两行代码来做这件事
if os.environ.get('DEVELOPMENT', None):
from login import settings_dev
我还尝试了import settings_def
和from 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应用程序:]),所以只是一个FYI它在我的settings.py文件中设置如下:
os.environ['DJANGO_SETTINGS_MODULE'] = 'login.settings'
我也尝试在我的终端中导出它,但是我得到了同样的错误。
有谁知道如何解决这个/我在这里做错了什么?
答案 0 :(得分:6)
确保在传递文件的相对地址时使用"。"而不是" /"。
我遇到了与实际相同的错误
<强>&#34;音乐/网址&#34; 强>
但它应该是
&#34; music.urls&#34;
答案 1 :(得分:1)
在最初的settings.py
中,最后:
try:
from settings_dev import *
except ImportError:
pass
在与settings_dev.py
相同的目录中创建settings.py
,并在其中,在最顶部添加以下两行:
import sys
globals().update(vars(sys.modules['settings']))
现在在此文件中添加您想要的任何开发设置。
答案 2 :(得分:1)
我在runserver命令执行中遇到了类似的错误,最后我发现由于安装了django版本的python版本不兼容而引发此错误。我的系统上有两个版本的python,我运行了错误的django服务器。希望它对某人有所帮助。