当我通过输入python manage.py shell
启动django shell时,启动了ipython shell。是否有可能让Django以qtconsole模式启动ipython? (即使其运行ipython qtconsole
)如何在qtconsole模式下使用ipython启动django shell?
Arek
编辑: 所以我想什么安德鲁威尔金森在他的回答表明 - 延长我的Django应用程序与基于原有的Django shell命令的命令。据我理解代码,在原来的版本开始IPython的是这样的:
from django.core.management.base import NoArgsCommand
class Command(NoArgsCommand):
requires_model_validation = False
def handle_noargs(self, **options):
from IPython.frontend.terminal.embed import TerminalInteractiveShell
shell = TerminalInteractiveShell()
shell.mainloop()
任何意见如何改变这种代码qtconsole模式启动IPython的?
秒编辑: 到目前为止我发现和工作的是 - 从我的项目的settings.py位置开始'ipython qtconsole'(或者如果从不同位置开始设置sys.path),然后执行这样的:
import settings
import django.core.management
django.core.management.setup_environ(settings)
,现在我可以导入我的模型,列出所有实例等
可能还没有一个简单的命令,但它当然应该可以做到这一点。 –
如果你在'/ usr/local/bin'中将'ipython'别名为'ipython qtconsole',那么你可以接受吗? – Unapiedra
@Unapiedra:我不认为这会奏效。 Django通过导入并在Python级别调用它来启动ipython,而不使用shell命令。 –