django-admin是django的命令行接口、能够用它来建立工程(startproject) 、建立app(startapp)。它里面又是怎么写的呢?python
1、django-admin.py 的内容:django
#!/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() 函数app
2、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方法;post
因此说要想搞清楚django-admin.py 它是怎么实现的仍是要看ManagementUtility这个类的内容才行。spa
3、ManagementUtility类的实现:命令行
----code