我需要从 Django shell 执行 Python 脚本。我尝试过:
./manage.py shell << my_script.py
但它不起作用。它只是在等我写一些东西。
要在 Django 的 shell 中执行外部 Python 脚本,您应该首先使用 进入 Django shell manage.py,然后使用 Python 在 shell 中执行该脚本。
manage.py
my_script.py以下是从 Django shell 中执行 Python 脚本()的简单方法:
my_script.py
python manage.py shell
进入 Django shell 后,您可以像这样执行脚本:
exec(open('path/to/my_script.py').read())
'path/to/my_script.py'
exec()``my_script.py
call_command
如果你的脚本依赖于 Django 模型或者需要集成到 Django 环境中,那么最好将脚本转换为 Django 管理命令。然后,你可以像这样执行它:
中概述的步骤将您的脚本转换为 Django 管理命令。自定义命令的文档
运行自定义命令:
一旦你写好了
from django.core.management import call_command call_command('your_command_name')
这样,你的脚本将在 Django 感知上下文中运行,从而更容易与模型交互,