Admin实现流程

一丶启动

Django启动时,依次执行settings.py中的INSTALLED_APPS列表,将列表中的每一个应用读取并执行脚本。
执行每个应用脚本的__init__.py如下代码时
import admin
def
autodiscover(): autodiscover_modules('admin', register_to=site)

上述代码就会寻找并执行项目中的所有admin.py文件.

二丶注册

在执行了所有的admin.py文件时,如下注册的模型就是一个单例对象.

from django.contrib import admin

# Register your models here.
admin.site.register()

进入admin.site源代码中会有如下显示

这是一个基于模块的单例模式,一个类只会实例化一个对象,并且整个项目使用这个一个对象.

三丶设计url

url分发

分发的实质是url中套url从而实现分发的效果

 如果要完成上述的效果

url注册

在项目中的urls.py文件下的urlpatterns = [url(r'^Xadmin/', site.urls),] 列表中添加正则匹配字符串和调用的函数

原文地址:https://www.cnblogs.com/cangshuchirou/p/9178717.html