admin快速搭建后台管理系统
⼀.基于admin后台管理系统的特点:
1. 权限管理:权限管理是后台管理系统必不可少的部分,拥有权限管理,可以赋予⽤户增删改查表权限(可以分别赋予⽤户对不同的表有不同的操作权
限);
2. 前端样式少:后台管理主要⽤于管理⼈员管理数据库中数据,因此样式不是特别重要但功能全;
3. 快速开发:⽬前很多系统在开发中,后台系统的开发⼯具量与前台开发⼯作量相差不多甚⾄有点⽐前台开发⼯作量还⼤,⽽Django的后台管理系统是⼀
套全⾃动的管理系统(即admin)
⼆.admin的使⽤:
1.⾃动完成admin的相关配置:
1.1在⽤Pycharm创建完Django项⽬后,会⾃动注册在setting.py的INSTALLED_APPS(Django所有的a
pp都应该注册在这⾥)中,
如图1,以及会配置相应的url,当然,你可以把url修改成你需要的名字(这⾥使⽤默认),如图2
图1
图2
2.你可以直接欢快的配置和使⽤admin了,是不是开⼼的飞起啊:
2.1把你的表建好然后⽣成(在termina中敲⼊命令(python manage.py makemigrations--该命令会在migrations数据库中表的相应脚本的py⽂件;python manage.py migrate--执⾏脚本⽂件⽣成或修改表))。
2.2使⽤python manage.py runserver启动Django项⽬(可以指定端⼝,默认为8000),然后便可以在浏览器中访问配置好了的url了(默认为127.0.0.1:8000/admin),如图3
图3
2.3显然,得有个⽤户和密码,不急,⼜来python manage.py createsuperuser(输⼊⽤户名和密码创建⼀个超级⽤户),创建成功后在启动项⽬便可以登录访问了。如图4,为英⽂,Django是全球性框架,⽀持多语⾔,要想是中⽂的,只需在setting.py中修改语⾔配置(把LANGUAGE_CODE='en-us'替换成LANGUAGE_CODE=‘zh-hans’,注:Django 1.8之前为'zh-cn';时区设置以可以改为上海,便于时间的统⼀TIME_ZONE='UTC'替换为TIME_ZONE='Asia/Shanghai',还得把USE_TZ改成False,与本地时间统⼀,不然时间会取UTC的时间),如图5。会⾃动⽣成组,是不是发现没有⾃⼰创建的表啊(Django默认会帮你⾃动注册⽤户表在后台展⽰),还是不急,只需简单的
配置即可:
图4
图5
2.4在相关app下有个admin.py,只需在该⽂件中做相应的配置即可(以两张表为例),如图6,效果如图7(当然我的User表重载了AbstractUser):
图6
图7
3.当然,admin的功能远不⽌这些,要完成你需要的功能,只需在admin.py中进⾏相关配置即可:这⾥例举⼏个常⽤的,详细可以参考该⽂章:
3.1基本设置(以User表为例,注:字段名⼀定要和models表中的字段名⼀致):
class UserProfileAdmin(admin.ModelAdmin):
#显⽰表中哪些字段
list_display = ['name','birthday','gender']
#list_per_page设置每页显⽰多少条记录,默认是100条
list_per_page = 50
#ordering设置默认排序字段,负号表⽰降序排序
ordering = ('-add_time',)
#list_editable 设置默认可编辑字段
list_editable = ['school_id', 'name']
#fk_fields 设置显⽰外键字段
fk_fields = ('school_id',)
#设置哪些字段可以点击进⼊编辑界⾯
list_display_links = ('id', 'name')
3.2筛选器,主要⽤于过滤和搜索数据:
class BlogAdmin(admin.ModelAdmin):
#筛选器
list_filter =('name', 'gender', 'school_id', 'add_time') #过滤器
search_fields =('name', 'school_id', 'gender') #搜索字段
date_hierarchy = 'add_time'# 详细时间分层筛选 django admin 自定义页面
3.3调整页⾯内容和标题:
class MyAdminSite(admin.AdminSite):
site_header = '悦动乐后台管理系统'# 此处设置页⾯显⽰标题
site_title = '悦动乐'# 此处设置页⾯头部标题
admin_site = MyAdminSite(name='management')
4.总结:
admin虽然已经很好了,但xadmin的功能更加强⼤,不急,学习从未⽌步......
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论