1. 介绍
admin是django强大功能之一,它能共从数据库中读取数据,呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。
如果你觉得英文界面不好用,可以在setting.py 文件中修改以下选项
LANGUAGE_CODE = 'en-us' #LANGUAGE_CODE = 'zh-hans'
2. 注册medel类到admin的两种方式:
<1>使用register方法
class BookAdmin(admin.ModelAdmin): ... admin.site.register(Book, BookAdmin) admin.site.register(Author)
<2>使用register装饰器
@admin.register(Book) class ...
3. 自定义admin
# 自定义admin样式 class BookAdmin(admin.ModelAdmin): list_display = ('id', 'name', 'price', 'pubdate') # 显示的内容 list_editable = ('name', 'price') # 可编辑的内容 filter_horizontal = ('authors',) # 水平搜索框 list_per_page = 5 # 每页显示的内容数量 search_fields = ('id', 'name', 'publish__name') # 搜索关键字 list_filter = ('pubdate', 'publish') # 按...过滤,不需要写publish__name ordering = ('-price', 'id') # 按price排序,-表示降序 fieldsets = [ (None, {'fields': ['name']}), ('price information', {'fields': ['price', 'publish'], 'classes': ['collapse']}) ]