Django admin的常用方法
一、HTTP
1、主页面
http://127.0.0.1:8000/admin/
2、查询页面
http://127.0.0.1:8000/admin/app01/book/
3、增加页面
http://127.0.0.1:8000/admin/app01/book/add/
4、修改页面
http://127.0.0.1:8000/admin/app01/book/1/change/
5、删除页面
http://127.0.0.1:8000/admin/app01/book/1/delete/
二、配置
1、定义一个类
class BookConfig(admin.ModelAdmin): pass
2、引用
admin.site.register(models.Book, BookConfig)
三、常用方法
1、list_display
list_display = ["title", "price", "publishDate", "publisher"]
作用:显示指定字段
注意:可以使用多对一字段,不能使用多对多字段
使用多对多字段报错
<class 'app01.admin.BookConfig'>: (admin.E109) The value of 'list_display[4]' must not be a ManyToManyField
自定义display
# 信任标签 from django.utils.safestring import mark_safe class BookConfig(admin.ModelAdmin): # 自定义display def deletes(self): # return "删除" return mark_safe("<a>删除</a>") list_display = ["title", "publishDate", "price", "publish", deletes]
2、list_display_links
class BookConfig(admin.ModelAdmin): list_display = ["title", "price", "publishDate", "publisher"] list_display_links = ["title", "price", "publishDate", "publisher"]
作用:设置link,进入修改页面
注意:list_display_links 不能设置 list_display没有定义的内容
3、list_filter
作用:添加根据字段进行 filter的功能
list_filter = ["price", "publisher"]
4、list_editable
作用:在查看页面直接编辑字段
注意:the value of 'title' cannot be in both 'list_editable' and 'list_display_links'
list_editable = ["title"]
5、search_fields
作用:模糊索引
注意:字段与字段之间是或的关系
6、actions
作用:批量操作
# queryset相对于页面前面的checkbox def bath(self, request, queryset): queryset.update(price=66.88) bath.short_description = "批量修改价格" actions = [bath].