Django-admin源码解析

启动  

  <1>启动django,运行manage.py文件,进行当前项目的环境配置

  <2>按照INSTALLED_APPS中的顺序加载APP,首先加载admin

注册

  <1>循环加载执行所有已经注册的app的admin.py文件

  <2>执行各个app下的admin.py中的代码

    app01

     app02

     admin.site是一个单例模式,对于AdminSite类的一个单例模式,执行的每一个app中的每一个admin.site都是一个对象

  <3>执行admin.site.register方法

  注册每个类的时候,如果admin_class未传参数,默认为None,self._registry字典中key为注册的类对象,value为默认配置类对象'ModelAdmin',如果注册时在admin.py中自定义配置类,则value为自定义配置类对象

URL

  <1>admin的url配置

  <2>urls调用sites的get_urls()方法

  <3>get_urls()方法生成url

 

  此时我们就可以登录并访问admin的url了

    登录页面

 

     首页

     查询页面

猜你喜欢

转载自www.cnblogs.com/iamluoli/p/9171618.html