Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:在`manage.py shell中自动执行语句`_Python_Django_Shell - Fatal编程技术网

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

Python Django:在`manage.py shell中自动执行语句`,python,django,shell,Python,Django,Shell,每次使用python manage.py shell启动shell时,我都希望自动执行几行代码。(在我的例子中,它将是一些导入行,样式为import django,my_app) 我如何做到这一点?包django扩展满足您的需求。如果您pip安装django extensions,并且可以一如既往地添加该应用程序(在应用程序列表中,然后运行syncdb),则会得到一个名为shell\u plus的命令 如果运行python manage.py shell\u plus,该命令将自动加载所有模型。

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


我如何做到这一点?

django扩展
满足您的需求。如果您
pip安装django extensions
,并且可以一如既往地添加该应用程序(在应用程序列表中,然后
运行syncdb
),则会得到一个名为
shell\u plus
的命令

如果运行
python manage.py shell\u plus
,该命令将自动加载所有模型。真方便!如果您将IPython的强大功能结合起来,就可以获得一个很好的环境,使用django ORM与您的模型进行交互

更多信息:

  • 对于套餐:
  • 对于shell_plus上的文档:
  • 对于django extensions的文档:

希望这有帮助。这可能比编写启动脚本的工作量要少。作为一个额外的django扩展,它为您提供了强大的功能,如
图形模型(它可以为您提供数据库的png图形)和显示URL。

我最终得到了monkeypatching
IPython.frontend.terminal.embed.InteractiveShellEmbed.\u调用\u
来添加我想要的定义。(我知道很多人反对monkeypatching,但我发现这是一个很好的解决方案。)

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