django的admin

一、Django Admin介绍

admin是django提供的一个数据库内容管理的平台。

数据库内容管理就是能从数据库中读取数据,呈现在页面中,进行管理。

admin提供了很多定制化功能

 

二、启用admin

django自带了一套用户认证系统,admin就用了这个, 所以你想登录,先创建管理员账号。

python3 manage.py createsuperuser

注意django admin的作用是让你管理各app下的数据库表,实现可以通过Web页面就完成对数据的增删改查。 你得把你写的表在admin里注册一下才行。 

在每个app下有admin.py文件,在里面注册你想要被管理的表

from django.contrib import admin
# 1、先导入models
from app01 import models
# Register your models here.

#2、把某个表注册到admin的外部管理界面里:
admin.site.register(models.Book)
admin.site.register(models.Publish)
admin.site.register(models.Author)

 

 

三、自定义admin:

1、写一个类(一般是表名加admin),继承admin.ModelAdmin

2、继承之后就可以在类里面定制了

# 自定义admin样式
class BookAdmin(admin.ModelAdmin):
    list_display = ('id','name','price','pub_date')
    list_editable = ('name','price')  #
    filter_horizontal = ('author',)   #传元组。水平的多选
    #默认分页是20条,我们改成每3天分一页
    list_per_page = 3
    #搜索,以哪些字段搜索,一次按写的字段顺序搜
    search_fields = ('id','name','publish__name')
    #精确的过滤
    list_filter = ('pub_date','publish')

list_display就是定义表数据要展示哪些字段的。

3、自定义完之后要明确的告诉django请用我自定义的配置:注册时把自定义的admin当个参数传进去。

admin.site.register(models.Book,BookAdmin)

 

posted @ 2020-04-17 03:03  张仁国  阅读(668)  评论(0编辑  收藏  举报
目录代码