每次我使用 启动 shell 时python manage.py shell
,我都希望自动执行几行。(在我的情况下,它将是一些风格的导入行import django, my_app
。)
我该怎么做呢?
该软件包django-extensions
可以满足您的要求。如果您pip install django-extensions
,并且您可以像往常一样添加应用程序(在您的应用程序列表中,然后run syncdb
),那么您会得到一个名为shell_plus
.
如果您运行,该命令会自动加载您的所有python manage.py shell_plus
模型。真的好用!如果结合 IPython 的强大功能,您将获得一个使用 django ORM 与模型交互的良好环境。
更多信息:
希望这可以帮助。它可能比编写启动脚本的工作量少。作为一个额外的 django-extensions 为您提供了很棒的功能,例如graph_models
(可以为您提供数据库的 png 绘图)和 show_urls。
我最终用猴子补丁IPython.frontend.terminal.embed.InteractiveShellEmbed.__call__
添加了我想要的定义。(我知道很多人反对猴子补丁,但我发现在这种情况下它是一个很好的解决方案。)