manage.py如何工作?

2024-04-27 04:03:32 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我在命令行上遵循他们的指示,他们正在工作,但我想知道为什么?

例如,您可以访问命令“manage.py startapp xyz”,它会创建一个包,但是当我查看manage.py时,它只包含以下代码(由django添加,我没有触摸manage.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知识中是否存在一些基本的空白。谢谢您。


Tags: django命令行frompyimport命令executemanage
1条回答
网友
1楼 · 发布于 2024-04-27 04:03:32

您需要查看^{} package^{} function接受sys.argv命令行参数并从中获取它。

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

它们被传递给^{} instance,后者有一个^{} method来执行实际的解析。

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

相关问题 更多 >