我需要从Django shell中执行一个Python脚本。我试着:

./manage.py shell << my_script.py

但这并没有起作用。它只是在等我写点什么。


当前回答

如果你想执行启动脚本(例如,导入一些django模型来与它们交互工作),并保持在django shell中:

PYTHONSTARTUP=my_script.py python manage.py shell

其他回答

如果你想执行启动脚本(例如,导入一些django模型来与它们交互工作),并保持在django shell中:

PYTHONSTARTUP=my_script.py python manage.py shell

@AtulVarma在不工作的接受答案下提供了一个非常有用的评论:

echo 'import myscript' | python manage.py shell

我刚刚发现一个有趣的东西是Django Scripts,它允许你用python manage.py runscript foobar来编写脚本。关于实现和结构的更多详细信息可以在这里找到,http://django-extensions.readthedocs.org/en/latest/index.html

首先检查你的文件。

py manage.py

如果显示您的文件

[contracts]
category_load

现在您可以通过输入powershell(terminal)来运行.py文件

py manage.py category_load

如果你想在BG中更好地磨合:

nohup echo 'exec(open("my_script.py").read())' | python manage.py shell &

输出将在noup .out中