Django 14天从小白到进阶- Day2 玩转admin组件
本节内容
Django Admin介绍admin 是django 自带的用来让你进行数据库管理的web app. 提供了很多定制化功能,你甚至可以用它来进行公司内部的内容管理 启用admin你用startproject命令创建项目时django admin就默认启用了 For reference,here are the requirements:
admin 访问地址 http://localhost:yourport/admin/,by default. 为什么会让登录?哪来的用户信息?django自带了一套用户认证系统,admin就用了这个, 所以你想登录,先创建管理员账号。 然后你就开心的登录进去了呀 发现只有这么个东西, 什么东东? 这就是django自带的用户认证系统的2张表,用于管理账户和账户组信息。 那接下来要干什么呢? 注意django admin的作用是让你管理各app下的数据库表,实现可以通过Web页面就完成对数据的增删改查噢。 admin不会没事闲的自己把你创建的表拿过来管理,你得把你写的表在admin里注册一下才行。? 在每个app下有个admin.py文件 ,在那里面注册你想要被管理的表 Register your models here.
from app01 import models admin.site.register(models.Article) 然后刷新下页面,新添加的2个表就出来了 admin定制你可以定义每张表显示哪些字段、对某些字段进行过滤、允许搜索等功能,这就需要定制一下admin的类了 admin.site.register(Article,ArticleAdmin)
一下子就好看了,真是神奇呀。 就喜欢你这没见识的样子,别急,还有很多nb的功能呢,一起来看下。 看来这个list_display就是定义表数据要展示哪些字段的,除了这个属性,admin 还提供了哪些其它功能呢? fields 决定对表进行修改时展示哪些字段还可以多个字段显示在一行。 exclude 不展示哪些字段date_hierarchy = 'pub_date'? 按日期分类显示数据 You can also specify a field on a related model using the __ lookup,for example:date_hierarchy = 'author__pub_date' fieldsets 分组显示fieldsets = (('文章相关',{
'fields':('title','content'),'classes': ('wide','extrapretty'),}),('高级',{
'classes':('collapse',),'fields':(('account','read_count'),'pub_date')
}))
上面的classes 是用于设定字段样式,2个默认自带的样式是collapse 和wide filter_horizontal,filter_vertical 均用于多对多字段??list_display? 定义表数据显示哪些列除了表中有的字段,models自己定义的字段也能放入list_display class Person(models.Model):
name = models.CharField(max_length=50) birthday = models.DateField()
class PersonAdmin(admin.ModelAdmin): 甚至还能玩出花样 from django.utils.html import format_html
竟然出现了样式,神奇。
list_display_links = ('first_name','last_name') 点下这2个字段就跳到修改页list_filter 过滤,把要过滤的字段放到对应列表里就可以
list_per_page = 20 每页显示20条数据
radio_fields 把外键或choice字段由下拉框变成单选框自动补全autocomplete_fields = ['account',] 自动补全,外键查询数据多时,方便查找 raw_id_fields? 言语无法表示的字段就把外键变成这样子 readonly_fields?= ('address_report',)? 只读字段search_fields? 模糊查找
好啦,就先讲这些吧, 当然admin还有很多更高级的功能,不过先会这些就够了,以后会深入再讲的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |