手动设置DJANGO_SETTINGS_VARIABLE

Bun*_*bit 1 python django

为了能够使用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文件.

Pro*_*ane 5

我在加载常规使用场景之外的设置方面遇到了一些困难.我不是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)

希望这可以帮助; 如果你需要别的东西,请告诉我.