执行顺序 : Admin

  1. 执行admin.py,导入models

第一次进来的时候,先创建admin.site对象(如果下次再有引入,不会重新创建)

  1. 拿到对象后执行该对象下的register()方法
    • 目的是将 注册的类 添加到_registry{}中
  1. admin.site是实例化AdminSite的对象
  1. 实例化完成后,执行__init__方法
  2. 拿到一个_registry = {}
    1. 再看AdminSite类下的register()方法,里面执行的是啥?
    1. register()可以传进两个参数,第二个参数默认为None
      • 如果我们自己定义了一个RoleConfig(admin.ModelAdmin):类, 它会优先调用自定义的类.
  • 调用register后.会传进去一个_registry
  • 你注册一个它就会在_registry里面生成一个键值对
  • _registry = {

models.Role : ModelAdmin(models.Role,admin.site),

}

  • _registry = {

models.Role : RoleConfig(models.Role,admin.site),

}    // 它会调用内部的一个 list_display

  • 咱们综上所有都是为了生成 _registry 这个字典

=====================================================================================

接下来,通过我们访问admin 可以看到.

  1. 注册过的每一张表,都生成若干张表.在这里咱们默认为 增删改查四张表
  • 请求过来后,咱们应该执行视图.
  • 当运行程序时,
    1. 会先找到每一个APP中的admin.py文件,并加载(记得要注册哦)
    2. 创建admin.site中的对象,执行register方法.
  1. 接下来来到urls,在此处执行如图.   再次调用admin.site的urls
    1. 这个urls看起来是个属性对不对.  别急…给你图
    • 看到@property没
    • 伪造成属性,其实它的本质是个方法哦
    1. 看它的返回值,三个参数用逗号隔开.  它其实就是返回了一个元组.
      • 该元组下,有三个参数,第一个参数是个函数. 我们点进去看看
  • 由此可见, 第一个元素返回了一个列表
    • 手动展示一下
  1. 接下来我们来看看这个列表是个啥?

    admin的更多相关文章

    1. Django admin定制化,User字段扩展[原创]

      前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

    2. Django admin美化插件suit应用[原创]

      前言 由于比较懒,自己弄了一个用户验证,没有自己写后台,用了django自带的user认证,并通过admin直接进行管理,但默认的admin并不漂亮,于是使用了这个django-suit插件,效果对比 ...

    3. OpenStack Mitaka 版本中的 domain 和 admin

      OpenStack 的 Keystone V3 中引入了 Domain 的概念.引入这个概念后,关于 admin 这个role 的定义就变得复杂了起来. 本文测试环境是社区 Mitaka 版本. 1. ...

    4. Django Admin

      //设置admin列表名称 def __str__(self): return u'%s' % self.name class Meta: db_table ="数据库的那个表" ...

    5. Django基础,Day3 - 编写 django admin

      Django 自带了一个简易编辑后台,可以称为"内容发布器",一般是提供给站点管理员使用的,其最开始也是开发出来提供给报社编辑和发布新闻使用的. 创建超级管理员: $ python ...

    6. SB Admin 2 学习笔记1

      需要掌握能够搭建起一个 dashboard 的能力, 因为很少有运维开发团队有专职的前端, bootstrap 也要讲个基本法. SB Admin 2, 一个免费的 bootstrap theme, ...

    7. 【Django】--Models 和ORM以及admin配置

      Models 数据库的配置 1    django默认支持sqlite,mysql, oracle,postgresql数据库 <1>sqlite django默认使用sqlite的数据库 ...

    8. Django admin 权威指南(一)

      版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...

    9. 【原创】kafka admin源代码分析

      admin包定义了命令行的一些实现 一.AdminOperationException.scala 一个异常类,表示执行admin命令时候抛出的异常 二.AdminUtils.scala admin一 ...

    10. [django]Django站点admin支持中文显示和输入设置

      正文: Django站点admin支持中文输入设置,操作如下: 1 需要确定的你的数据库的client客户端和服务端的编码设置为utf-8,如果不是,请将其设置成utf-8编码,我采用mysql,详情 ...

    随机推荐

    1. CMMI-4中19个PA的大致描述

      组织过程资产库下面有组织级标准过程库, 这个库里一共有19各PA(就是标准过程啦) PA的英文是Process Area       CM(配置管理过程,英文是Configuration Manage ...

    2. stm32串口接收中断协议解析

      借鉴了文章:<stm32串口中断接收方式详细比较> 文章地址:http://blog.csdn.net/kevinhg/article/details/40186169 串口的配置这里不做 ...

    3. 三十天学不会TCP,UDP/IP编程--MAC地址和数据链路层

      这篇文章主要是来做(da)推(guang)介(gao)的!由于这两年接触到了比较多的这方面的知识,不想忘了,我决定把他们记录下来,所以决定在GitBook用半年时间上面写下来,这是目前写的一节,后面会 ...

    4. Hibernate学习(二)关系映射----基于外键的单向一对一

      事实上,单向1-1与N-1的实质是相同的,1-1是N-1的特例,单向1-1与N-1的映射配置也非常相似.只需要将原来的many-to-one元素增加unique="true"属性, ...

    5. 关于PHP输出字符串多了两个字节的BUG

      近日IOS开发那边小伙伴跟我说,解析服务器发回的字符信息时候出现bug. 明明利用Log输出来的是字符串"hello"  可是利用length计算就是多出来两个字节,比如这里是7. ...

    6. 前端测试框架Jest系列教程 -- Global Functions(全局函数)

      写在前面: Jest中定义了很多全局性的Function供我们使用,我们不必再去引用别的包来去实现类似的功能,下面将列举Jest中实现的全局函数. Jest Global Functions afte ...

    7. Taffy Web开发,Python Flask实践详解

      1. 前言 最近为Taffy自动化测试框架写了个页面,主要实现了用例管理.执行,测试报告查看管理.发送邮件及配置等功能. 2. 实现细节 页面使用Python Flask +Bootstrap开发,还 ...

    8. Android Weekly Notes Issue #287

      Android Weekly Issue #287 December 10th, 2017 Android Weekly Issue #287 圣诞节快要来了,小编也偷懒了,本期内容包括如何通过AS添 ...

    9. Java开发小技巧(一)

      前言 相信许多程序员在看别人写的代码的时候,会有怀疑人生的感想,面对一堆天书一样的代码,很难摸清作者的思路,最后选择了重构,如果你认同上面这个作法,说明了两个问题:要么原来的开发者技术菜.要么你技术菜 ...

    10. inline-block解决

      一.现象描述 真正意义上的inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距 二.方法之移除空格 元素间留白间距出现的原因就是标签段之间的空格,因此,去掉HTML中的空格,自 ...