day 82 URL分发

Posted 萌哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day 82 URL分发相关的知识,希望对你有一定的参考价值。

一 、admin 流程 

      (1)  启动
           autodiscover_modules(‘admin‘, register_to=site)
           
      (2)  注册
           单例模式
           admin.site=AdminSite(): 单例对象
           
           class AdminSite(object):
                def __init__(self, name=‘admin‘):
                        self._registry = {} 
                        
                def register(self, model, admin_class=None, **options):
                    if not admin_class:
                          admin_class = ModelAdmin
                          
                    self._registry[model] = admin_class(model, self) # {Book:ModelAdmin(Book)}
                           
           
           admin.site.register(Book)  #  admin.site._registry={Book:ModelAdmin(Book)}
           admin.site.register(Publish)  #  admin.site._registry={Book:ModelAdmin(Book),Publish:ModelAdmin(Publish)}
           
           class Authoconfig(admin.ModelAdmin):
                pass
                
           admin.site.register(Author,Authoconfig)  #  admin.site._registry={Book:ModelAdmin(Book),Publish:ModelAdmin(Publish),Author:Authoconfig(Author)}
           

 

 

技术分享图片

 技术分享图片

二 、设计URL

为每个app下的model设计增删改查4个URL,以book为例。

  127.0.0.1:8000/admin/app01/book/

 

  127.0.0.1:8000/admin/app01/book/add

 

  127.0.0.1:8000/admin/app01/book/1/change/

 

  127.0.0.1:8000/admin/app01/book/1/delete

 

 

案例 

 

以上是关于day 82 URL分发的主要内容,如果未能解决你的问题,请参考以下文章

python学习点滴记录-Day17-django-part2

代码随想录day 31 455.分发饼干 | 376. 摆动序列 | 53. 最大子序和

day82 中间件

VSCode自定义代码片段3——url大全

VSCode自定义代码片段3——url大全

VSCode自定义代码片段3——url大全