django中的Admin是如何工作的?

1.寻找app的 admin.py

  当服务启动时,Django从`` url.py`` 引导URLconf,然后执行`` admin.autodiscover() 语句。 这个函数遍历INSTALLED_APPS配置,并且寻找相关的 admin.py文件。 如果在指定的app目录下找到admin.py,它就执行其中的代码。

   url.py----(admin.autodiscover)---->INSTALLED_APP----(寻找安装的app)---->admin.py

2.注册模块显示界面

  在`` books`` 应用程序目录下的`` admin.py`` 文件中,每次调用`` admin.site.register()`` 都将那个模块注册到管理工具中。 管理工具只为那些明确注册了的模块显示一个编辑/修改的界面。

时间: 2024-10-26 20:21:34

django中的Admin是如何工作的?的相关文章

django中的admin组件之自定义组件

内容回顾: 一 admin的使用 app01的admin.py文件:                  class BookConfig(admin.ModelAdmin):               list_display=[]               list_display_links=[]               list_filter=[]               search_fields=[]                              def pat

Django中的Admin站点

使用Admin站点 假设我们要设计一个新闻网站,我们需要编写展示给用户的页面,网页上展示的新闻信息是从哪里来的呢?是从数据库中查找到新闻的信息,然后把它展示在页面上.但是我们的网站上的新闻每天都要更新,这就意味着对数据库的增.删.改.查操作,那么我们需要每天写sql语句操作数据库吗? 如果这样的话,是不是非常繁琐,所以我们可以设计一个页面,通过对这个页面的操作来实现对新闻数据库的增删改查操作.那么问题来了,老板说我们需要在建立一个新网站,是不是还要设计一个页面来实现对新网站数据库的增删改查操作,

django中的admin组件之自定义组件的数据展示以及自定义列

虽然我们基本实现了我们自定义组件stark的功能,接下来就是显示数据了. 今天我们先来写查.先来写表单部分 我们如果需要显示我们自己配置类中的字段,应该怎么做呢? 我们有这样一个想法,将这些数据放在一个列表中,类似这样[['python',122],['linux',110]],然后在页面上依次循环这个列表,取值就行了. self.model.objects.all()中里面有我们需要的对象,self.list_display中有我们需要的字段.所以: def listview(self,req

django中的admin组件之自定义组件的search,actions,list_display_links

上节回顾:                               1 反向解析(reverse)                2 modelForm--->添加和编辑                                        添加:                        class BookModelForm():                             class Meta:                                  

django中的admin组件之自定义组件的增删改查的完善

昨天我们将自定义列放在类我们自定义的Bookconfig配置类内,但是这样就写死了,因为当我们访问publish表的时候应该也有这样的自定义列,所以我们应该将我们的自定义列放在默认的配置表里面.应该怎么做? 当我们的自定义列挪到默认配置类的时候,我们自定义配置类中的list_display就要发生改动, list_display = ["title", "price", "publish",'authors','publishDate',site

Django中Admin样式定制

Django自带的admin在展示数据是样式有点单一,我们可以自己定义数据的展示样式. 1.后台查询书记列表时,同时列出出版社和出版时间: admin.py文件 from django.contrib import admin import models class BookAdmin(admin.ModelAdmin): list_display = ('name','publisher','publication_date') #展示 admin.site.register(models.A

django中的站点管理

所谓网页开发是有趣的,管理界面是千篇一律的.所以就有了django自动管理界面来减少重复劳动. 一.激活管理界面 1.django.contrib包 django自带了很多优秀的附加组件,它们都存在于django.conrib包里,与django捆绑,使开发人员不需要重复造轮子. django.contrib是一套庞大的功能集,它是Django基本代码的组成部分,Django框架就是由众多包含附加组件(add-on)的基本 代码构成的. django自动管理工具就是django.contrib的

Django学习(九)---Templates过滤器及Django shell和Admin增强

一.Templates过滤器 过滤器属于django模板语言 修改模板中的变量,从而显示不同内容 {{ value | filter }} 举例:{{ list_nums | length}}    表示list的长度 {{ value | filter | filter | filter }} 可叠加 django模板如果出现了不存在的变量,不会报错,只会给出空值 因此修改add_article.html   去掉{{% if *** %}} 添加过滤器default <!DOCTYPE ht

Django中使用Celery实现定时任务(用djcelery)

[TOC] 一.引言 Django是python语言下的一个比较热门的Web框架,越来越多的企业和开发者使用Django实现自己的Web服务器.在Web服务器开发过程中,有时候我们不仅仅是要实现Web服务器端和用户端的简单逻辑交互,还要实现一些定时任务.举出以下的例子: 定期删除或缓存Redis数据库的记录 为了追求更高的数据库访问性能,我把Redis作为MySql数据库的缓存.把常访问的数据放在Redis中,然后定时存储到Mysql中.并且把过期的Redis数据删掉.那么这个时候,就需要定时去