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)