gpt4 book ai didi

python - manage.py 是如何工作的?

转载 作者:太空狗 更新时间:2023-10-29 18:26:39 24 4
gpt4 key购买 nike

我刚刚安装了 django,我正在他们的网站上做教程。

我正在按照他们在命令行上的说明进行操作,他们正在工作,但我想知道为什么?

例如,您可以访问命令“manage.py startapp xyz”,它会创建一个包,但是当我查看 manage.py 时,它只包含以下代码(由 django 添加,我没有触及管理.py)

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "DjangoProject12.settings")

from django.core.management import execute_from_command_line

execute_from_command_line(sys.argv)

我在 manage.py 或其他任何地方都没有看到 startapp 的任何方法。我不确定这是否是特定于 Django 的,或者我的 Python 知识是否存在一些根本性的差距。谢谢。

最佳答案

您需要查看 django.core.management package ; execute_from_command_line() function接受 sys.argv 命令行参数并从那里获取它。

当您在命令行中输入 manage.py startapp xyz 时,sys.argv 被设置为 ['manage.py', 'startapp', 'xyz'].

这些被移交给一个ManagementUtility instance ,它有一个 .execute() method进行实际的解析。

整个django.core.management包是模块化的; .commands sub package包含 manage.py 工具的各种标准命令。 django.core.management.commands.startapp例如,处理 startapp 子命令。

关于python - manage.py 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16106445/

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