小能豆

如何从 Django shell 执行 Python 脚本?

py

我需要从 Django shell 执行 Python 脚本。我尝试过:

./manage.py shell << my_script.py

但它不起作用。它只是在等我写一些东西。


阅读 30

收藏
2024-09-23

共1个答案

小能豆

要在 Django 的 shell 中执行外部 Python 脚本,您应该首先使用 进入 Django shell manage.py,然后使用 Python 在 shell 中执行该脚本。

my_script.py以下是从 Django shell 中执行 Python 脚本()的简单方法:

逐步流程

  1. 进入Django Shell:

python manage.py shell

  1. 导入并执行您的 Python 脚本:

进入 Django shell 后,您可以像这样执行脚本:

exec(open('path/to/my_script.py').read())

  • 替换'path/to/my_script.py'为脚本的实际路径。
  • exec()``my_script.py将在当前 shell 会话中执行代码。

替代方案:使用call_command

如果你的脚本依赖于 Django 模型或者需要集成到 Django 环境中,那么最好将脚本转换为 Django 管理命令。然后,你可以像这样执行它:

  1. 中概述的步骤将您的脚本转换为 Django 管理命令自定义命令的文档

  2. 运行自定义命令:

一旦你写好了

from django.core.management import call_command call_command('your_command_name')

这样,你的脚本将在 Django 感知上下文中运行,从而更容易与模型交互,

2024-09-23