从命令行执行 Django Shell 命令

问题描述 投票:0回答:3

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

例如

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

您可以将 -c 选项与普通 Python 解释器一起使用

例如

python -c "print 'hello world'"

但是,我没有看到

manage.py shell
的等效 -c 选项。有办法做到这一点吗?

python django django-shell
3个回答
46
投票

管道它;)

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

6
投票

不是那样的。但为 Django 编写独立脚本非常容易。


0
投票

对于任何新来这个问题的人:从 Django 1.10 开始,

-c
/
--command
就在那里,而且它的工作原理与你所期望的完全一样。来自官方文档

允许您将命令作为字符串传递以将其作为 Django 执行,如下所示:

django-admin shell --command="import django; print(django.__version__)"
© www.soinside.com 2019 - 2024. All rights reserved.