为了能够使用django的空闲shell我正在尝试手动设置DJANGO_SETTINGS_VARIABLE.我包含了settings.py驻留在sys.path中的目录,并且能够导入它.但是以下似乎没有工作.
import settings
from django.core.management import execute_manager
execute_manager(settings)
Run Code Online (Sandbox Code Playgroud)
我也试过了
settings = imp.find_module('settings')
execute_manager(settings)
Run Code Online (Sandbox Code Playgroud)
从manage.py中获取线索,但没有任何帮助.这里发生了什么,以及如何将文件作为模块导入,我记得模块需要在目录中有一个inti文件.
我在加载常规使用场景之外的设置方面遇到了一些困难.我不是100%肯定我在这里理解你的困难,所以我会给你一些可能性,如果你能澄清一下,我会尽力帮助你.
如果您只需要使用空闲shell,我认为django可以通过以下方式轻松完成:
python manage.py shell
Run Code Online (Sandbox Code Playgroud)
假设空闲是你的默认shell(虽然我希望你能查看ipython,如果是这样的话,因为从长远来看你可能会喜欢这个开关).
如果你想为django设置系统变量,它叫做:DJANGO_SETTINGS_MODULE,而不是DJANGO_SETTINGS_VARIABLE,或者至少是我使用它的时候.在启动shell之前如何设置变量可能是特定于平台的.在linux上你想要编辑你的.bashrc.在Windows上,你想做一个:"SET DJANGO_SETTINGS_MODULE = your.python.path.to.django.settings."
如果你想在以这种方式启动shell之前在程序中动态设置环境,你可以这样做,例如:
import settings
from django.core.management import setup_environ
setup_environ(settings)
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助; 如果你需要别的东西,请告诉我.