喵吉欧尼酱

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、什么是django admin?django.contrib.admin

  Django的管理员模块是Django的标准库django.contrib的一部分,
  contrib下还包括django.contrib.auth,django.contrib.sessions和
  django.contrib.comments模块等,django.contrib.admin


2.、在INSTALLED_APPS中添加django.contrib.admin

 

setting下设置User就不会和系统自带的User冲突了
#
自定义模型 AUTH_USER_MODEL = 'blog.User'

 


 

class ArticleAdmin(admin.ModelAdmin):
    # fields = ('title','desc','content','click_count') 用来指定显示括号中的内容,其它值要设置默认为空 不然报错
    pass
  exclude  反之 除了括号的其它都显示


list_display

使用list_display 去控制哪些字段会显示在Admin 的修改列表页面中。
class PersonAdmin(admin.ModelAdmin):
    list_display = ('first_name', 'last_name')

 

list_display_linksModelAdmin.list_display_links

使用list_display_links可以控制list_display中的字段是否应该链接到对象的“更改”页面。

默认情况下,更改列表页将链接第一列 - list_display中指定的第一个字段 - 到每个项目的更改页面。但是list_display_links可让您更改此设置:

  • 将其设置为None,根本不会获得任何链接。

  • 将其设置为要将其列转换为链接的字段列表或元组(格式与list_display相同)。

    您可以指定一个或多个字段。只要这些字段出现在list_display中,Django不会关心多少(或多少)字段被链接。唯一的要求是,如果要以这种方式使用list_display_links,则必须定义list_display

在此示例中,first_namelast_name字段将链接到更改列表页面上:

class PersonAdmin(admin.ModelAdmin): #链接可进入修改页面
    list_display = ('first_name', 'last_name', 'birthday')
    list_display_links = ('first_name', 'last_name')
在此示例中,更改列表页面网格将没有链接:

class AuditEntryAdmin(admin.ModelAdmin):
    list_display = ('timestamp', 'message')
    list_display_links = None

 

list_filter 设置激活激活Admin 修改列表页面右侧栏中的过滤器

list_editable

#再文章页可进行编辑
class ArticleAdmin(admin.ModelAdmin):
    list_display =  ('title', 'desc', 'content',)
    list_editable =( 'content',)
    pass

 

 

 


list_filter

 

 

设置fieldsets 控制管理“添加”和 “更改” 页面的布局.

fieldsets 是一个以二元元组为元素的列表, 每一个二元元组代表一个在管理表单的 <fieldset><fieldset> 是表单的一部分.)

二元元组的格式是 (name, field_options), 其中 name 是一个字符串相当于 fieldset的标题, field_options 是一个关于 fieldset的字典信息,一个字段列表包含在里面。

一个完整的例子, 来自于django.contrib.flatpages.models.FlatPage 模块:

from django.contrib import admin

class FlatPageAdmin(admin.ModelAdmin):
    fieldsets = (
        (None, {
            'fields': ('url', 'title', 'content', 'sites')
        }),
        ('Advanced options', {
            'classes': ('collapse',),
            'fields': ('enable_comments', 'registration_required', 'template_name')
        }),
    )

 

在管理界面的结果看起来像这样:

 

 常用这三个

    list_display = ['user', 'content','content',]  # 列表显示功能
    search_fields =['user', 'content','content',]  # 搜索功能
    list_filter = ['user', 'content','content',]  # 过滤器功能

 

posted on 2017-10-15 12:16  喵吉欧尼酱  阅读(282)  评论(0)    收藏  举报