从命令行执行 Django Shell 命令

Posted

技术标签:

【中文标题】从命令行执行 Django Shell 命令【英文标题】:Executing a Django Shell Command from the Command Line 【发布时间】:2011-06-15 10:08:50 【问题描述】:

我想仅从命令行通过 Django 的 manage.py shell 函数执行命令

例如

manage.py shell -c "from myapp import models; print models.MyModel.some_calculation()"

您可以在普通 Python 解释器中使用 -c 选项

例如

python -c "print 'hello world'"

但是,我没有看到 manage.py shell 的等效 -c 选项。有没有办法做到这一点?

【问题讨论】:

请不要。请写一个两行的脚本文件。 see custom admin commands 【参考方案1】:

Pipe它;)

echo "print('hello world')" | python manage.py shell

【讨论】:

或者如果你想使用文件:cat my_script.py | python manage.py shell 我不知道为什么,但这对我不起作用。我不得不改用echo "$(cat my_script.py)" | python manage.py shell 更正,缩进不适用于 IPython,所以强制标准提示:... | python manage.py shell -i python 确保在末尾添加\n(如有必要,添加echo -e)。【参考方案2】:

不是那样的。但是写一个standalone script for Django很容易。

【讨论】:

链接往往会过期...这里的代码示例更好。

以上是关于从命令行执行 Django Shell 命令的主要内容,如果未能解决你的问题,请参考以下文章

shell命令行执行python

命令行通过执行shell脚本启动java类,命令行“卡住”or“挂起”or“停顿”,不能输入新的命令了,怎么办

编写shell脚本,实现如下功能:(1)从命令行读入2个整数;(2)对两个数进行大小比较;(3)在屏幕上输出

如何在mysql shell命令中执行sql命令行

linux中设计一个shell脚本程序可以接受命令行输入的参数执行相应的菜单命令

shell中最强大,实用的命令awk