Python 运行测试时不加载Django设置
我的应用程序的不同环境有不同的设置,如本地、开发、阶段和生产环境。因此,当我在本地运行我的应用程序时,比如说,我将设置作为参数传递给Python 运行测试时不加载Django设置,python,django,settings,Python,Django,Settings,我的应用程序的不同环境有不同的设置,如本地、开发、阶段和生产环境。因此,当我在本地运行我的应用程序时,比如说,我将设置作为参数传递给manage.py,例如python3 manage.py runserver 0.0.0.0:8080--settings=myapp.settings.local,实际上我的所有设置都已正确初始化,例如DEBUG在我的设置文件中设置为True,而不是像在defaultsettings.py中那样的False 但是,当我尝试使用python3 manage.py
manage.py
,例如python3 manage.py runserver 0.0.0.0:8080--settings=myapp.settings.local
,实际上我的所有设置都已正确初始化,例如DEBUG
在我的设置文件中设置为True
,而不是像在defaultsettings.py
中那样的False
但是,当我尝试使用
python3 manage.py test运行测试时--settings=myapp.settings.local
,DEBUG
的值设置为false,即从defaultsettings.py
加载。为什么会发生这种情况?我如何解决此问题?请确保在测试中导入如下设置:
从django.conf导入设置
结果表明,当您运行测试时,所有设置都与设置文件中的设置一样,但调试除外DEBUG
始终设置为False
,以使设置尽可能接近生产
最后,我看了这篇文章:
导入系统
测试=系统argv[1:2]=['test']
检查调试是否是唯一受影响的设置?我敢肯定,不管怎样,测试运行人员会自动将其设置为真。我在发布问题后发现了相同的信息。