我有一个 Django 应用程序,它集成了来自 SQL 数据库的数据并将其显示为可下载的 HTML 表。现在我还想添加分析功能,但我想将用户重定向到 Jupyter 笔记本,而不是煞费苦心地使用 JavaScript 添加一些功能,这样用户就可以完全访问 Python 数据分析库的功能,甚至其他语言。现在我不确定如何解决这个问题,我有几个问题:

  • Jupyter 需要在与 Django 应用程序不同的服务器上运行,因为它使用 Tornado 服务器,我对吗?
  • 如何将 Django 生成的数据传输到 Jupyter?我将数据存储在一个新的 MySQL 表中,但我至少需要传输表名。
  • 鉴于表名已转移到 Jupyter,我仍然需要执行自定义代码来访问数据库。我在这个 question 中发现,可以在 IPython 配置中设置代码执行的一些默认值,但是由于应加载数据的表永远不会相同,因此必须动态调整。

  • 我很高兴就这个想法是否有意义提出任何建议和意见。

    最佳答案



    不可以。它们可以在同一台服务器上运行。



    您可以同时运行 django 和 Jupyter,并从 Jupyter 执行任何 django 代码。最简单的方法是使用 shell_plus from the package django-extensions 甚至可以连接到生产数据库。

    您应该考虑可能存在的安全和数据安全风险。这是远程代码执行和数据泄漏的潜在载体。

    使用克隆的数据库启动克隆的 django 实例或使用不同的 django 配置( settings.py )可能更安全,该配置对数据库具有只读访问权限。

    从 Jupyter 弄乱生产数据很容易,因为你可以做诸如 User.objects.all().delete() 之类的事情,这将是一个问题......

    还可以考虑以具有比常规 django 应用程序更严格的读写权限的用户身份运行它。

    当然,您应该确保 Jupyter 站点不会暴露在可公开访问的 url 上。

    关于python - 将 Jupyter Notebook 与从 Django 应用程序获取的数据集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37617629/

    10-16 05:38
    查看更多