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_name和last_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',] # 过滤器功能