admin的使用
创建超级用户
在admin.py注册模型表
admin.site.register(models.author)
django默认注册两张自带的表
admin 生成自定义模型url的规律
http://127.0.0.1:8000/admin/app01/book/ 书籍的查看
http://127.0.0.1:8000/admin/app01/book/1/change/ 书籍的编辑
http://127.0.0.1:8000/admin/app01/book/1/delete/ 书籍的删除
http://127.0.0.1:8000/admin/app01/book/add/ 书籍的添加
推测:
http://127.0.0.1:8000/admin/app01/publish/ 出版社的查看
http://127.0.0.1:8000/admin/app01/publish/1/change/ 出版社的编辑
http://127.0.0.1:8000/admin/app01/publish/1/delete/ 出版社的删除
http://127.0.0.1:8000/admin/app01/publish/add/ 出版社的添加
真理:
http://127.0.0.1:8000/admin/app01/publish/
http://127.0.0.1:8000/admin/app01/publish/1/change/
http://127.0.0.1:8000/admin/app01/publish/1/delete/
http://127.0.0.1:8000/admin/app01/publish/add/
规律:admin会给注册了的模型表起码生成增删改查四条url!!!
admin参数配置
# Book表的配置类 admin.py中
class BookConfig(admin.ModelAdmin):
list_display = ['title','price','publish','publishDate']
list_display_links = ['title','price','publish']
search_fields = ['title','price']
list_filter = ['publish','authors']
# actions功能
def patch_init(self,request,queryset):
queryset.update(price=666)
patch_init.short_description = '价格批量初始化'
actions = [patch_init]
list_display:
指定数据展示的字段
注意多对多字段不能放在list_display列表里进行展示
list_display_links:
指定跳转字段(跳转到当前字段所在数据的编辑页)
search_fields
search_fields = ['title','price']
输入框输入1,则会搜索title里包含1的或者price包含1的数据
1.在页面上渲染出搜索框
2.支持条件与条件之间的"或"查询
list_filter
1.它不是用来筛选普通字段的,它是用来帮你筛选外键字段的!!!
2.支持组合查询,只要是点亮的选项都是"与"的关系 name='xx'&price='xxx'
actions
批量处理数据
# 先定义一个批量处理函数
def patch_init(self,request,queryset):
queryset.update(price=666) #--->通过对queryset对象的操作数据
# 给这个函数命名 不写就是首字母大写的函数名
patch_init.short_description = '价格批量初始化' #--->万物接对象,这一步是给函数加一个属性
# 配置到配置类中
actions = [patch_init]