django-1.11.3 源码详解 -- 0001 django-admin.py 的调用逻辑

django-admin是django的命令行接口、可以用它来创建工程(startproject) 、创建app(startapp)。它里面又是怎么写的呢?

一、django-admin.py 的内容

#!/usr/bin/env python
from django.core import management if __name__ == "__main__":
#django-admin 直接调用的django.core.management.execute_from_command_line() 函数
management.execute_from_command_line()

  1  上面的代码可以看出啊  这个django-admin是直接调用了django.core.mangement.execute_from_command_line() 函数

二、django.core.mangement.execute_from_command_line() 函数的内容

def execute_from_command_line(argv=None):
"""Run a ManagementUtility."""
#从这里可以看出execute_from_command_line调用的是ManagementUtility类实例的execute方法
utility = ManagementUtility(argv)
utility.execute()

  1  由execute_from_command_line可以看出  它只是调用了ManagementUtility类 实例的execute方法;

  所以说要想搞清楚django-admin.py 它是怎么实现的还是要看ManagementUtility这个类的内容才行。

三、ManagementUtility类的实现

----

上一篇:Win7显示隐藏文件,隐藏文件夹怎么显示?如何查看?


下一篇:ZOJ 3331 Process the Tasks