一、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].