跳转到主要内容

Django + shell_plus + Jupyter notebooks变得简单

项目描述

dj-notebook

Django + shell_plus + Jupyter notebooks变得简单


一个可以访问Django ORM对象的Jupyter笔记本是一个强大的工具,可以用于数据内省和运行即席查询。

完整文档可在dj-notebook找到


功能

功能列表持续增长

  • 易于使用的Django Jupyter笔记本
  • 内置与从django-extensions导入的对象的集成 shell_plus
  • 在会话之间保存状态,因此您无需记住您所做的一切
  • 任何对象的继承图,包括ORM模型
  • 将任何Django QuerySet转换为Pandas Dataframe
  • 用于显示MermaidJS图表的便捷函数
  • 生成模型关系的可视地图
  • 在浏览器、VSCode、PyCharm、Emacs、Vim等中运行!

安装

使用您选择的安装工具,这里我们使用venv和pip

python -m venv venv
source venv/bin/activate
pip install dj_notebook

用法

首先,找到您的项目中的manage.py文件并打开它。将设置到DJANGO_SETTINGS_MODULE的内容复制到您的剪贴板。

manage.py相同的目录或您选择的另一个目录中创建一个ipython笔记本。在VSCode中,只需添加一个新的.ipynb文件。如果使用Jupyter Lab,请使用文件 -> 新建 -> 笔记本菜单选项。

然后在第一个单元格中输入

from dj_notebook import activate

plus = activate()

# If you have created your notebook in a different directory, instead do:
# plus = activate(search_dir="/path/to/your/project")

# If that throws an error, try one of the following:

# DJANGO_SETTINGS_MODULE_VALUE aka "book_store.settings"
# plus = activate("DJANGO_SETTINGS_MODULE_VALUE")

# Point to location of dotenv file with Django settings
# plus = activate(dotenv_file='.env')

在未来的单元格中,您现在可以加载和运行 Django 对象,包括 ORM。以下三个代码片段应该能给您一个大致的思路。

from django.contrib.auth import get_user_model
User = get_user_model()
User.objects.all()

使用 Plus

等等,还有更精彩的!

当您激活 Django 环境时,您实例化了一个名为 'plus' 的变量。'plus' 变量是一个包含从 django-extensions 的 shell_plus 加载的所有内容的对象。下面是一个演示,尝试运行这个代码片段

plus.User.objects.all()

我们还提供了一种用于类内省的实用工具,这在复杂的项目架构中非常有用。在 Jupyter notebook 壳中运行此代码

plus.diagram(plus.User)

生成此图像

这是另一个有用的图表

plus.model_graph(plus.User)

QuerySet 到 Dataframe

想将 Django 查询转换为 Pandas Dataframe 吗?我们为您提供了支持。

plus.read_frame(plus.User.objects.all())

您可以做的更多事情!

dj-notebook 官方文档

贡献者

pydanny
丹尼尔·罗伊·格林菲尔德
skyforest
科迪·安图内斯
geoffbeier
杰夫·贝耶
nmpowell
尼克·鲍威尔
specbeck
萨兰什·苏德
anna-zhydko
安娜·兹伊德科
Tejoooo
泰乔·考萨尔
bloodearnest
西蒙·大卫
akashverma0786
DaveParr
戴夫·帕尔
syyong
谢伊特·杨

特别感谢

这些人不在我们的正式 git 历史中,但应该在这里。

prestto
汤姆·普雷斯顿
evieclutton
tim-schilling
蒂姆·施林
meshy
查理·邓顿
chrisdev
克里斯托弗·克拉克
delfick
斯蒂芬·摩尔
django-extensions
Django 扩展

构造

此包是用 Cookiecuttersimplicity 项目模板创建的。

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源分发

dj_notebook-0.7.0.tar.gz (28.9 kB 查看哈希值)

上传时间

构建分发

dj_notebook-0.7.0-py3-none-any.whl (22.5 kB 查看哈希值)

上传时间 Python 3

支持者