我需要从 Django shell 执行 Python 脚本。我试过:
./manage.py shell << my_script.py
但它没有用。它只是在等我写点什么。
原文由 user2429940 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要从 Django shell 执行 Python 脚本。我试过:
./manage.py shell << my_script.py
但它没有用。它只是在等我写点什么。
原文由 user2429940 发布,翻译遵循 CC BY-SA 4.0 许可协议
不建议您从 shell
执行此操作 - 这是因为您不应该真正从 django 环境执行随机脚本(但有 一些 解决方法,请参阅其他答案)。
如果这是您将多次运行的脚本,最好将其设置为 自定义命令,即
$ ./manage.py my_command
为此,请在 management
和 commands
的子目录中创建文件 app
,
my_app/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
my_command.py
tests.py
views.py
并在此文件中定义您的自定义命令(确保文件名是您要从 ./manage.py
执行的命令的名称)
from django.core.management.base import BaseCommand
class Command(BaseCommand):
def handle(self, **options):
# now do the things that you want with your models here
原文由 danodonovan 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
<<
部分是错误的,使用<
代替:你也可以这样做:
对于 python3 你需要使用