Django + shell_plus + Jupyter notebooks变得简单
项目描述
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())
您可以做的更多事情!
贡献者
丹尼尔·罗伊·格林菲尔德 |
科迪·安图内斯 |
杰夫·贝耶 |
尼克·鲍威尔 |
萨兰什·苏德 |
安娜·兹伊德科 |
泰乔·考萨尔 |
西蒙·大卫 |
空 |
戴夫·帕尔 |
谢伊特·杨 |
特别感谢
这些人不在我们的正式 git 历史中,但应该在这里。
- 汤姆·普雷斯顿 在 Python 路径方面做了开创性的工作,这后来成为 dj-notebook 的基础
- 伊薇·克拉克顿 是一个请求的合著者,他们没有出现在上面的贡献者列表中
- 蒂姆·施林 协助了
model_graph
方法 - 查理·邓顿 负责django-schema-graph,这是我们作为
model_graph
功能的一部分所利用的 - 克里斯托弗·克拉克 构建
django-pandas
,dj-notebook 使用它 - 斯蒂芬·摩尔 在 dj-notebook 开源之前对它的内部结构做了一些早期工作。
- django-extensions 多年来提供了许多有用的工具,并是这个项目的支柱
汤姆·普雷斯顿 |
空 |
蒂姆·施林 |
查理·邓顿 |
克里斯托弗·克拉克 |
斯蒂芬·摩尔 |
Django 扩展 |
构造
此包是用 Cookiecutter 和 simplicity 项目模板创建的。
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。
源分发
构建分发
dj_notebook-0.7.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 048bd593808be243a056e548630e1d6b2c6ef592999811a7e11c8361da68b3f8 |
|
MD5 | f2e12755a50d9c8516fc50186ae9257a |
|
BLAKE2b-256 | b7395b4d4a775d0583d8f38d401563aa571a45f203ad23ba69a40d872ce6ae36 |
dj_notebook-0.7.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b8e75d4578adf8948d858502b6cd80b7c6ba520208d8d2716ded38017a877948 |
|
MD5 | 5b8e789052b5ce3c440c9ea83f2342fd |
|
BLAKE2b-256 | 4a800df11fc80da67dc2e1cea35484a779d229155929d688f9104415551b714f |