django-admin配置文件

1:  list_display 列表时,定制显示的列。

class UserAdmin(admin.ModelAdmin):              #每次打开后就不能修改,或者更改别的模式
    list_display = ('name','header_color','')   #可以是元组或者列表,当只有一个参数的时候,元组要在后面加上,
  def xxxxx(self, obj):            #obj指的是实例化的对象
        return "xxxxx"
admin.site.register(Type)
admin.site.register(User,UserAdmin)
admin.site.register(Role)

效果:在admin打开User表时候,会在页面显示name和header_color字段信息.

 2,list_editable,列表时,可以编辑的列

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):
    list_display = ('user', 'pwd','ug',)
    list_editable = ('ug',)

这里要注意:list_editable里面的值不能在
list_display_links里面.
 

 3,分页

# 分页,每页显示条数
    list_per_page = 100

# 分页,显示全部(真实数据<该值时,才会有显示全部)
    list_max_show_all = 200

# 分页插件
    paginator = Paginator
4,list_display_links,列表时,定制列可以点击跳转。
@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):
    list_display = ('user', 'pwd', 'xxxxx')
    list_display_links = ('pwd',)     

5,search_fields,列表时,模糊搜索的功能

class UserAdmin(admin.ModelAdmin):
     
    search_fields = ('user', 'pwd')    #弹出搜索框,支持模糊搜索
6,. date_hierarchy,列表时,对Date和DateTime类型进行搜索
class UserAdmin(admin.ModelAdmin):
 
    date_hierarchy = 'ctime'

7,inlines,详细页面,如果有其他表和当前表做FK,那么详细页面可以进行动态增加和删除
class UserTypeConfig(admin.ModelAdmin):
    class UserInfoInline(admin.StackedInline):  # TabularInline
        extra = 0

        model = User

    inlines = [UserInfoInline, ]    #这里链接User表

admin.site.register(Type,UserTypeConfig)
8,action列表时,定制action中的操作
class UserAdmin(admin.ModelAdmin):
 
    # 定制Action行为具体方法
    def func(self, request, queryset):
        print(self, request, queryset)
        print(request.POST.getlist('_selected_action'))
 
    func.short_description = "中文显示自定义Actions"
    actions = [func, ]
 
    # Action选项都是在页面上方显示
    actions_on_top = True
    # Action选项都是在页面下方显示
    actions_on_bottom = False
 
    # 是否显示选择个数
    actions_selection_counter = True

























原文地址:https://www.cnblogs.com/52forjie/p/8034980.html