Django:在`manage.py shell`中自动执行语句

时间:2013-03-01 15:19:51

标签: python django shell

每次使用python manage.py shell启动shell时,我都希望自动执行几行。 (在我的例子中,它将是import django, my_app风格的一些导入行。)

我该怎么做?

2 个答案:

答案 0 :(得分:2)

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等功能。

答案 1 :(得分:-1)

我最终将monkeypatching IPython.frontend.terminal.embed.InteractiveShellEmbed.__call__添加到我想要的定义中。 (我知道很多人反对monkeypatching,但在这种情况下我发现它是一个很好的解决方案。)