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

使用bpython作为Django shell时如何在启动时预加载指定导入语句

解决方案

方案1:Django原生配置(无需额外安装依赖)

  • 第一步:在项目根目录创建启动脚本,命名为shell_startup.py,写入你需要自动执行的导入语句:
from cbapp.models import *
from cbapp.services import *
# 可按需添加其他常用导入
  • 第二步:启动shell时指定PYTHONSTARTUP环境变量指向该脚本即可自动执行导入:
PYTHONSTARTUP=./shell_startup.py python manage.py shell
  • 可以自定义快捷启动脚本简化操作:
    在项目根目录创建start_shell.sh,内容如下:
#!/bin/bash
PYTHONSTARTUP=./shell_startup.py python manage.py shell

执行chmod +x start_shell.sh赋予执行权限,后续每次直接运行./start_shell.sh即可启动带自动导入的bpython shell。

方案2:使用django-extensions的shell_plus工具(功能更丰富)

如果可以接受安装额外工具,这个方案适配性更强,支持自定义导入规则、自动加载所有模型等功能:

  • 第一步:安装django-extensions
pip install django-extensions
  • 第二步:在项目settings.py的INSTALLED_APPS中添加配置:
INSTALLED_APPS = [
    # 其他原有app
    'django_extensions',
]

# 指定默认使用bpython作为shell
SHELL_PLUS = "bpython"

# 配置自定义自动导入内容
SHELL_PLUS_PRE_IMPORTS = [
    ('cbapp.models', '*'),
    ('cbapp.services', '*'),
    # 可按需添加其他导入规则
]
  • 第三步:后续启动shell直接执行以下命令即可,会自动完成所有配置的导入操作:
python manage.py shell_plus

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:06:08