无法在IPython Notebook中导入Django模块

Gez*_*zim 1 django import module ipython

我正在从流浪者服务器启动IPython Notebook,如下所示:

ipython notebook --ip='*'
Run Code Online (Sandbox Code Playgroud)

当我尝试导入Django模块时,出现ImproperlyConfigured异常:

不正确配置:请求的设置数据库,但未配置设置。您必须先定义环境变量DJANGO_SETTINGS_MODULE或调用settings.configure()才能访问设置。

在普通的Shell中,我只是运行export DJANGO_SETTINGS_MODULE=web.settings,然后可以从任何Python解释器中加载Django模块,但是,这不适用于笔记本。

我尝试在笔记本中运行以下命令,但无济于事:

!export DJANGO_SETTINGS_MODULE=web.settings
!DJANGO_SETTINGS_MODULE=web.settings
Run Code Online (Sandbox Code Playgroud)

那么,如何在IPython Notebook中设置环境变量,以便导入Django模块?

sk1*_*k1p 5

您应该可以使用os.environ

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings")
Run Code Online (Sandbox Code Playgroud)

我猜想“!export”方式行不通,因为它产生了一个子进程来执行那些命令,并且子进程不会影响其父进程的环境。