Django-08-admin

时间:2019-08-28
本文章向大家介绍Django-08-admin,主要包括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']})
    ]

原文地址:https://www.cnblogs.com/lsf123456/p/11423192.html