Django后台管理常用配置

  1. 创建后台管理员:
    python3 manage.py createsuperuser
  2. 在admin.py文件中注册要管理的实体类:
    admin.site.register(Author)
  3. 重写实体类的str方法(后台显示):
class Author(models.Model):
   	... ...
   	def __str__(self):
   		return self.name
  1. 高级管理
    1.声明并注册高级管理类
    class EntryAdmin(admin.ModelAdmin):
    	pass
    admin.site.register(Entry,EntryAdmin)
	2.在EntryAdmin中实现的高级管理功能,属性值为元组或列表
		1.list_display          列表页中要显示的字段
		2.list_display_links    列表页中可以链接到详情页的字段
		3.list_editable         列表页中可以直接修改的字段
		4.list_filter           列表页右侧增加一个过滤筛选
		5.search_field          列表页上方允许模糊查询的字段
		6.date_hierarchy        列表页中增加一个时间过滤功能
		7.fields				详情页中显示的字段及顺序
		8.fieldsets				详情页中对字段进行分组,与fields属性互斥
  1. 示例
    from django.contrib import admin
    from .models import *
    
    #声明Author的高级管理类-AuthorAdmin
    class AuthorAdmin(admin.ModelAdmin):
        #1.list_display  定义在列表页上显示的字段们,列表或元组
        list_display = ('name','age','email')
        #2.list_display_links  定义在列表页中哪些信息点击后能链接到详情页
        list_display_links = ('name','email')
        #3.list_editable  定义在列表页中就允许编辑的字段们
        #取值与list_display_links互斥
        list_editable = ('age',)
        #4.list_filter  列表页的右侧增加一个过滤器 实现筛选
        #一般适用于性别,isActive等字段
        list_filter = ('isActive',)
        #5.search_fields  添加允许被搜索的字段们
        search_fields = ('name','email')
        #6.fields 定义在详情页中要响应的字段及其顺序
        # fields = ('isActive','name','email')
        #7.fieldsets  定义在详情页中的字段分组,此属性和fields属性不能共存
        fieldsets = (
            #分组1
            ('基本选项',{'fields':('name','email')}),
            #分组2
            ('可选选项',{
                'fields':('age','isActive'),
                 'classes':('collapse',)
            }),
        )
    
    
    class BookAdmin(admin.ModelAdmin):
        #8.date_hierarchy 在列表页中增加一个时间分层选择器,提供时间筛选功能,必须是时间字段
        date_hierarchy = 'publicate_date'
    
    
    class PublisherAdmin(admin.ModelAdmin):
        list_display = ('name','address','city')
        list_editable = ('address','city')
        list_filter = ('city',)
        search_fields = ('name','website')
        fieldsets = (
            ('基本信息',{'fields':('name','address','city')}),
            ('高级信息',{'fields':('country','website'),
                        'classes':('collapse',)})
        )
    
    
    admin.site.register(Author,AuthorAdmin)
    admin.site.register(Publisher,PublisherAdmin)
    admin.site.register(Book,BookAdmin)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值