从命令行执行Django Shell命令

19
我想通过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选项。 有没有办法做到这一点?


请不要这样做。请编写一个两行的脚本文件。 - S.Lott
1
请查看以下链接以了解有关自定义管理命令的内容:查看自定义管理命令 - virhilo
2个回答

46

9
如果您想使用文件,请运行以下命令: cat my_script.py | python manage.py shell 该命令将读取my_script.py文件并将其输入到Django的shell中。 - Alexandre
我不确定为什么,但那对我不起作用。我被迫使用 echo "$(cat my_script.py)" | python manage.py shell 代替。 - christianbundy
更正一下,IPython 不支持缩进,所以要强制使用标准提示符:... | python manage.py shell -i python - frnhr
1
确保在结尾处包含“\n”(如果需要,请使用“echo -e”)。 - Jan Kyu Peblik

6

不是那样的。但编写一个独立的Django脚本非常容易,请参考此链接


9
链接往往会失效... 最好提供代码示例。 - JSmyth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接