我刚安装了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知识中是否存在一些基本的空白。谢谢您。
您需要查看^{} package ;^{} function 接受
sys.argv
命令行参数并从中获取它。当您在命令行上输入
manage.py startapp xyz
时,sys.argv
被设置为['manage.py', 'startapp', 'xyz']
。它们被传递给^{} instance ,后者有一个^{} method 来执行实际的解析。
整个} sub package 包含} 处理
django.core.management
包是模块化的;^{manage.py
工具的各种标准命令。^{startapp
子命令。相关问题 更多 >
编程相关推荐