执行顺序 : 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. CCF-201503-1-图象旋转

      问题描述 试题编号: 201503-1 试题名称: 图像旋转 时间限制: 5.0s 内存限制: 256.0MB 问题描述: 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转 ...

    2. 深入理解php内核 编写扩展 I:介绍PHP和Zend

      内容: 编写扩展I -  PHP和Zend起步 原文:http://devzone.zend.com/public/view/tag/Extension Part I: Introduction to ...

    3. FastDFS迁移步骤

      1.在新的机器上安装FastDFS 2.将新的storage接到老的tracker机器上,用来同步数据(/usr/local/fastdfs/bin/fdfs_storaged) 数据同步完成后,需要 ...

    4. huangwenlong and hanqihong开光的dijkstra

      #include<iostream> #include<vector> #include<queue> #include<cstring> #inclu ...

    5. IQKeyboardManager 状态栏(status bar)问题

      因为懒,所以具体什么样子,参考下面的链接 具体的问题情况参考:StatusBar background problem #1158 我解决的思路很简单,就是在监听键盘消失的时候,去设置 statys ...

    6. 【最短路】 ZOJ 1544 Currency Exchange 推断负圈

      给出 N 种货币 M 条兑换关系 開始时全部的货币S 和有X 块钱 接下来M条关系 A B W1 W2 W3 W4 表示 A->B 所需的手续费为W2块钱  汇率为W1 B->A 所需的手 ...

    7. 新书《Linux就是这个范儿》预售

      预售地址 当当 内容简单介绍 本书内容源自淘宝技术大学的培训实战.由来自阿里巴巴集团的资深Linux系统专家赵鑫磊和相同来自阿里巴巴集团的支付宝网络技术有限公司的高级专家Jie Zhang(张洁)共同 ...

    8. HDOJ 4251 The Famous ICPC Team Again

      划分树水题..... The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 3276 ...

    9. 游戏AI(二)—行为树优化之

      上一篇我们讲到了AI架构之一的行为树,本篇文章和下一篇文章我们将对行为树进行优化,在本篇文章中我们讲到的是内存优化 问题 上一篇中我们设计的行为树由于直接采用new进行动态内存分配,没有自己进行管理. ...

    10. immutable日常操作之深入API

      写在前面 本文只是个人在熟悉Immutable.js的一些个人笔记,因此我只根据我自己的情况来熟悉API,所以很多API并没有被列举到,比如常规的push/map/filter/reduce等等操作, ...