gpt4 book ai didi

python - 如何从 Python shell 执行 manage.py

转载 作者:太空狗 更新时间:2023-10-29 20:50:10 27 4
gpt4 key购买 nike

我正在尝试在我的 Django 项目中使用 Werkzeug,它本质上是一个网页 Python shell 界面。我想运行诸如 python manage.py syncdbpython manage.py migrate 之类的命令,但在 Python shell 中它不是很简单。

我尝试了 import manage 并尝试从那里发出命令,但是从 manage.py 的源代码来看,没有什么可调用的,因为它将参数传递给 django.core.management .execute_from_command_line().

我还尝试定义一个函数,如“Running shell command from Python and capturing the output”所示,但调用它时使用

runProcess('Python manage.py syncdb')

仅返回:

<generator object runProcess at 0x000000000520D4C8>

最佳答案

您可以从命令行启动 Django shell:

python manage.py shell

然后导入execute_from_command_line:

from django.core.management import execute_from_command_line

最后,您可以执行所需的命令:

execute_from_command_line(["manage.py", "syncdb"])

它应该可以解决您的问题。

作为替代方案,您还可以查看 subprocess module documentation .您可以执行一个流程,然后检查其输出:

import subprocess
output = subprocess.check_output(["python", "manage.py", "syncdb"])
for line in output.split('\n'):
# do something with line

关于python - 如何从 Python shell 执行 manage.py,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15865925/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com