我一直在使用这篇文章中描述的方法来设置IPython笔记本,以便与Django很好地配合.该方法的要点是创建一个IPython扩展,它设置DJANGO_SETTINGS_MODULE并在IPython启动时运行django.setup().
扩展的代码是:
def load_ipython_extension(ipython):
# The `ipython` argument is the currently active `InteractiveShell`
# instance, which can be used in any way. This allows you to register
# new magics or aliases, for example.
try:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
import django
django.setup()
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
随着最近升级到Jupyter笔记本电脑,这个设置现在已经打破了.我可以通过在笔记本的第一个单元格中添加类似的代码来在Jupyter笔记本中运行Django代码.但是,我无法弄清楚如何让Jupyter自动运行扩展程序,因此我不必为我正在创建的每个笔记本再次执行此操作.
我该怎么办才能让Django和Jupyter玩得很好?
更新: 对于@DarkLight - 我使用Django 1.8.5与Jupyter 1.0.0.我在笔记本中运行的代码是:
import os, sys
sys.path.insert(0, '/path/to/project')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settingsfile")
import django
django.setup()
Run Code Online (Sandbox Code Playgroud) 我想通过django框架在我的Web应用程序中显示散景库提供的图形,但我不想使用散景服务器可执行文件,因为它不是好方法.那有可能吗?如果是的话怎么做?