Django-08-admin

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']})
    ]

 

posted @ 2019-08-28 11:52  lsf123456  阅读(131)  评论(0编辑  收藏  举报