【问题标题】:Django: Automatically executing statements in `manage.py shell`Django:在`manage.py shell`中自动执行语句
【发布时间】:2013-03-01 15:19:51
【问题描述】:

每次我使用python manage.py shell 启动shell 时,我都希望自动执行几行代码。 (在我的情况下,它将是 import django, my_app 样式的一些导入行。)

我该怎么做?

【问题讨论】:

  • 您可以安装 iPython 并设置启动脚本。如果可用,Django 将检测并使用 iPython。

标签: python django shell


【解决方案1】:

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。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 2021-09-08
      • 2011-03-09
      • 2021-04-18
      • 1970-01-01
      相关资源
      最近更新 更多