django 增删改查组件之启动脚本

想一个问题:为什么只要在django中的app,admin.py文件中配置两三行代码就可以通过后台admin操作数据的增删改查。这是因为admin在django启动前邦我们做了ORM的关系映射

查看django admin源码

def autodiscover():
    autodiscover_modules('admin', register_to=site) # autodiscover_modules函数会把每一个app中的admin.py文件在django启动前加载

看到这里我们就可以通过调用这个函数来制作我们自己的增删改查组件
from django.utils.module_loading import autodiscover_modules
autodiscover_modules('app名字', register_to=site)

基于autodiscover_modules实现启动脚本
django-admin startapp idus
apps.py

from django.apps import AppConfig


class IdusConfig(AppConfig):
    name = 'idus'

    def ready(self):
        from django.utils.module_loading import autodiscover_modules
        autodiscover_modules('idus')

django-admin startapp front
idus.py

print('我比django先启动')

运行django

我比django先启动
我比django先启动
Performing system checks...

Watching for file changes with StatReloader
System check identified no issues (0 silenced).
September 15, 2020 - 22:00:59
Django version 3.0.3, using settings 'model_mod.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
posted @ 2020-09-08 22:07  bibicode  阅读(159)  评论(0)    收藏  举报