如何为 Django 设置 Jupyter/IPython Notebook?

2024-01-05

我一直在使用中描述的方法这个帖子 https://andrewbrookins.com/python/using-ipython-notebook-with-django/用于设置 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 很好地发挥作用?

UPDATE:对于@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. Install django-extensions from https://github.com/django-extensions/django-extensions/blob/master/docs/index.rst https://github.com/django-extensions/django-extensions/blob/master/docs/index.rst

     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()
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为 Django 设置 Jupyter/IPython Notebook? 的相关文章

随机推荐

  • Powershell 和 UTF-8

    我有一个 html 文件测试 html用atom创建 其中包含 Test 编码 utf 8 当我使用 Powershell 控制台阅读它时 我使用的是法语 Windows Get Content Raw test html 我得到这个 Te
  • Java中的内存流

    我正在寻找 Java 中的内存流实现 实施情况 应该大致模仿 NET内存流 http msdn microsoft com en us library system io memorystream aspx执行 基本上我想上课MemoryS
  • 通过代码配置Ipython后端使用retina显示模式

    我使用代码来配置 Jupyter 笔记本 因为我有一个包含大量笔记本的存储库 并且希望保持所有笔记本的样式一致性 而不必在每个笔记本的开头编写冗长的设置 这样 我所做的就是拥有一种配置 CSS 的方法 一种用于设置 Matplotlib 另
  • 如何使用 API 在 YouTube 社区选项卡上上传帖子?

    我搜索了一些相关内容 但找不到 如何使用 YouTube API 在 YouTube 社区选项卡上上传帖子 v3 不可以吗 遗憾的是 我在 Google 论坛中找到了更多有关此问题的信息 他们说不要发布开发人员类型的问题 我也在这里寻找有关
  • 覆盖 React Framer Motion 中的转换延迟

    我创建motion div组件 其中包含initial animate and whileTap特性
  • map.setMyLocationEnabled(true);不管用

    我刚刚开始开发一个 android 项目并正在使用 Google Map API 我可以在我的应用程序上获取地图 但是当我尝试使用以下命令启用当前位置时map setMyLocationEnabled true 应用程序说不幸的是应用程序已
  • DELETE FROM ... 报告“.”处或附近的语法错误

    我试图从数据库中仅删除一项数据 但是 当我编写命令时 我不断收到一些语法错误 您能告诉我错误在哪里吗 这是我尝试过的命令 DELETE FROM database userprofile WHERE user username some E
  • 我正在尝试编写一个返回多个值的宏

    这条线上出现错误 Finalrow Cells Row Count 1 End X1UP Row Error is 对象所需的运行时错误 424 下面是代码 Sub MyVlookup Dim r As Long C As Long Col
  • 在MATLAB MEX库中使用boost,与MATLAB的版本不同

    我们正在创建许多使用我们的通信库的 MATLAB MEX 文件 这个通信库大量使用了Boost 现在 MATLAB 也在内部使用 boost 这意味着在标准设置中 我们不能使用与 MATLAB 附带的版本不同的 boost 版本 否则就会发
  • Excel中如何将长表格转换为宽表格?

    一张图片胜过千言万语 假设在一张纸中我有下表 使用这些信息 我想以编程方式在另一张纸中生成这样的表格 有点将长表格分解为宽表格 你怎样才能做到这一点 使用VBA Range G1 K99 Clear For Each xx In Range
  • MapActivity 中的 SherlockActionBar

    我在整个应用程序中广泛使用 Sherlock Action Bar 但我有一个继承自 MapActivity 的活动 因此我无法使其继承自 SherlockActivity 有什么方法可以利用地图中的 Sherlock 操作栏来自定义它吗
  • 在 SQL Server 中将标识列重置为零?

    如何在 SQL Server 中将表的 Identity 列重置为零 Edit 我们如何使用 LINQ to SQL 来做到这一点 DBCC CHECKIDENT MyTable RESEED NewValue 您还可以执行截断表 但是 当
  • += 事件运算符

    public void Bar Foo foo new Foo foo MyEvent foo MyEvent foo FireEvent void foo MyEvent object sender EventArgs e Foo sen
  • Spring Security 5 OAuth2客户端密码授予类型

    我有2个应用程序 Spring应用程序1是客户端和资源服务器 Spring应用程序2是授权服务器 用户将能够登录应用程序 1 并访问其资源 我想实现以下流程 用户在登录表单中输入他的凭据 gt 应用程序 1 将使用用户凭据及其密码从应用程序
  • MFC 中的国际化

    终于 经过多年的推迟 将我的应用程序本地化为英语以外的其他几种语言 第一个挑战是设计与我的 C MFC 应用程序的集成 该应用程序具有数十个对话框和无数字符串 我遇到了两种可能的替代实现 将本地化资源文件编译并部署为 DLL 提取所有字符串
  • PHPCS 未在命令行上运行?

    当我输入 phpcs version 时 我没有得到版本号 而是得到如下内容 Applications drupal php bin phpcs line 2 php No such file or directory Applicatio
  • 使用 PHP 解析 xml 文件的 simpleXML 替代方案

    我只是想知道是否有 simpleXML 的替代方案来使用 PHP 解析 XML 数据 例如 如果 simpleXML 模块未加载 或者即使存在比 SimpleXML 性能更好的库 类 显然有处理 XML 的多种不同方式 http docs
  • 10.3 中包含 javax.servlet 的 WebLogic Jar 在哪里?

    我正在尝试配置我的路径以将 javax servlet 包含在 WebLogic 中 WebLogic 已拆分出 Jar 文件 那么哪一个包含 javax servlet 从 WebLogic 10 开始 BEA 外部化了 API 规范的实
  • 查找 GZIP 文件内的文件大小

    有没有办法找出java中GZIP文件内原始文件的大小 例如 我有一个 15 MB 的文件 a txt 它已被 GZipped 为 3MB 大小的 a gz 我想知道 a gz 中存在的 a txt 的大小 而不需要解压缩 a gz 除了压缩
  • 如何为 Django 设置 Jupyter/IPython Notebook?

    我一直在使用中描述的方法这个帖子 https andrewbrookins com python using ipython notebook with django 用于设置 IPython Notebook 以与 Django 很好地配