You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Django应用中集成Jupyter Notebook?技术实现咨询

在Django应用中集成Jupyter Notebook的实现方案

一、将Notebook转为HTML后嵌入Django(静态集成)

你提出的转换HTML后通过urls.py集成的思路完全可行,具体步骤如下:

1. 解决nbconvert找不到的问题

nbconvert是Jupyter生态的一部分,单独安装不会生效,需先安装完整的Jupyter包:

  • 在VS Code的终端(确保激活项目虚拟环境)执行:pip install jupyter
  • 安装完成后,进入Notebook所在目录,执行转换命令:jupyter nbconvert --to html your_notebook.ipynb,即可生成对应的HTML文件。

2. 集成到Django应用

  • 将生成的HTML文件放入Django应用的templates目录(无此目录则新建)。
  • 在应用的views.py中添加视图函数:
    from django.shortcuts import render
    
    def notebook_display(request):
        return render(request, 'your_notebook.html')
    
  • 在应用的urls.py中配置路由:
    from django.urls import path
    from . import views
    
    urlpatterns = [
        # 其他已有路由
        path('notebook/', views.notebook_display, name='notebook_display'),
    ]
    
  • 注意事项:若HTML包含图片、自定义样式等静态资源,需将这些资源移至Django的static目录,并修改HTML中的资源路径为Django静态文件引用格式(如{% static 'path/to/resource.png' %}),同时在HTML文件开头添加{% load static %}标签。

二、动态集成Jupyter Notebook(支持在线编辑)

如果需要在Django中直接运行、编辑Notebook,可使用第三方包django-jupyter实现:

  1. 安装依赖:pip install django-jupyter
  2. 在项目settings.py的INSTALLED_APPS中添加应用:
    INSTALLED_APPS = [
        # 其他已注册应用
        'django_jupyter',
    ]
    
  3. 在项目根urls.py中添加路由:
    from django.urls import include, path
    
    urlpatterns = [
        # 其他已有路由
        path('jupyter/', include('django_jupyter.urls')),
    ]
    
  4. 启动Django服务后,访问/jupyter/即可在浏览器中直接使用Jupyter Notebook,所有Notebook文件会默认存储在项目根目录的notebooks文件夹中。

常见问题排查

  • 若终端提示jupyter命令不存在,检查VS Code终端是否激活了项目对应的虚拟环境,避免使用全局Python环境。
  • 转换后的HTML样式异常,可尝试添加--no-input参数(jupyter nbconvert --to html --no-input your_notebook.ipynb)隐藏代码块,仅保留输出内容;或自定义CSS样式适配Django模板风格。

内容的提问来源于stack exchange,提问作者Garry Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 06:32:11