gpt4 book ai didi

django - 如何为 Django 设置 Jupyter/IPython Notebook?

转载 作者:行者123 更新时间:2023-11-28 19:34:03 31 4
gpt4 key购买 nike

我一直在使用this post中描述的方法用于设置 IPython Notebook 以与 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

随着最近对 Jupyter Notebook 的升级,此设置对我来说现在已被破坏。通过向笔记本的第一个单元格添加类似的代码,我能够在 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()

最佳答案

  1. https://github.com/django-extensions/django-extensions/blob/master/docs/index.rst 安装 django-extensions

     pip install django-extensions
  2. 更改您的设置文件以包含“django-extensions”

     INSTALLED_APPS += ['django_extensions']
  3. 像这样运行你的 Django 服务器:

    python manage.py shell_plus --notebook
  4. 改变以适应,并在您的第一个单元格中运行它

    import os, sys
    PWD = os.getenv('PWD')
    os.chdir(PWD)
    sys.path.insert(0, os.getenv('PWD'))
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "local_settings.py")
    import django
    django.setup()
  5. 现在您应该能够导入您的 django 模型等。例如:

    from app.models import Foobar
    Foobar.objects.all()

关于django - 如何为 Django 设置 Jupyter/IPython Notebook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35483328/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com