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类的实现:
----