将BPython用作Django应用程序的调试器
我目前正在开发一个Django应用程序,我喜欢使用pdb来了解我的应用程序处于什么状态以及类似的情况。我想在调试程序中拥有所有令人惊叹的BPython功能。。。像自动完成之类的东西。将BPython用作Django应用程序的调试器,django,python-3.x,bpython,Django,Python 3.x,Bpython,我目前正在开发一个Django应用程序,我喜欢使用pdb来了解我的应用程序处于什么状态以及类似的情况。我想在调试程序中拥有所有令人惊叹的BPython功能。。。像自动完成之类的东西。 这可能吗?谢谢:)在python repl启动文件中放入一些代码,以检测您是否在Django项目中,并执行必要的导入: 将此信息放入~/.bashrc或~/.bash_配置文件 导出PYTHONSTARTUP=~/.pythonrc 创建或编辑您的~/.pythonrc: try: from django.
这可能吗?谢谢:)在python repl启动文件中放入一些代码,以检测您是否在Django项目中,并执行必要的导入:
导出PYTHONSTARTUP=~/.pythonrc
~/.pythonrc
:
try:
from django.core.management import setup_environ
import settings
setup_environ(settings)
print 'imported django settings'
except:
pass
或
使用此更复杂的代码段导入所有django模块并在项目子目录中工作:我知道这已经很老了,但我仍然找不到我喜欢的解决方案,最后得到了下面使用django命令的解决方案 Nick的另一个答案也很有效,但我不喜欢在我的全局
.pythonrc
#myapp/management/commands/bshell.py
从django.core.management.base导入BaseCommand
从django.apps导入应用程序
类命令(BaseCommand):
help=“运行bpython交互式解释器(如果已安装)。”
需要模型验证=假
def句柄(自身、*参数、**选项):
已加载的\u模型=应用程序。获取\u模型()
模型={}
对于加载的_模型中的模型:
模型[模型名称]=模型
导入bpython
嵌入(模型)
.venv❯ python manage.py bshell
>>>洛卡特
┌───────────────────────────────────────────────────────────────────────────────────┐
│ 地点(│
└───────────────────────────────────────────────────────────────────────────────────┘
我使用ipython,如果它安装在环境中,django shell会自动选择它。我相信对于bpython@dusual根据你的评论,我试过bpython。你是对的。解决这个问题。