Django进阶–admin-初识

Django进阶–admin-初识

1 简介

Django-admin插件用于全自动地根据模型创建后台界面,为管理者而准备、使管理者轻松的管理普通用户数据。

简言之,该功能是系统自带的,开发者可定义的管理员界面。

django版本:2.1.7

python版本:3.5.2

2. 配置

admin功能其实是django自带的一个系统,系统内功能全面。当需要使用admin功能时,需要开发人员指定需要的部分功能。

2.1 系统配置

  1. 数据库迁移

    本功能基于数据库,需要提前做好迁移工作;

  2. 配置文件
    以下配置,项目创建时默认配置

    #project/project/urls.py
    urlpatterns = [
        path('admin/', admin.site.urls),
    ]
    
    #project/project/settings.py
    INSTALLED_APPS = [
        'django.contrib.admin',   #admin依于下方四个插件。
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
    ]
    
    MIDDLEWARE = [
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
    ]
    
    LANGUAGE_CODE = 'zh-Hans'  #界面使用汉字
    

2.2 创建管理员

需要创建管理者用户

#cd 项目根目录
(djfirst) zdq@python:~/DjProject/practise$ python manage.py createsuperuser
用户名 (leave blank to use 'zdq'): superteacher      
电子邮件地址: 123456@163.com
Password: 
Password (again): 
密码长度太短。密码必须包含至少 8 个字符。
这个密码太常见了。
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.


3 使用

3.1 展示内容

admin管理用户数据,主要是对数据库记录的操作,我们需要在每个APP下的admin.py模块中申明需要显示的模型。

from django.contrib import admin

from .models import Student, StuDetail

class StudentAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', 'gender', 'college', 'studetail']
    
class StuDetailAdmin(admin.ModelAdmin):
    list_display = ['qq', 'phone', ]    

admin.site.register(Student, StudentAdmin)
admin.site.register(StuDetail, StuDetailAdmin)

3.2 登陆

输入127.0.0.1://8000/admin获取登陆页面

登陆成功后,进入主界面

在这里插入图片描述

之后对于数据的修改和添加就可以同后端交互了.


4 列表显示

列表指的是模型类所有对象的列表

#形如:

	ID	姓名		性别 	 学院		单个学生详情
	23	阿飞		 男	 <火影村>	阿飞 的详情页
	22	木叶丸		男	<火影村>	木叶丸 的详情页
	9	黑衣人		男	<火影村>	-
	8	纳鲁淘		男	<火影村>	-
	7	白合		 女	 <侦探学院>	-

下面展示如何控制这个列表的显示内容

4.1 数据展示

可以使用list_display设置模型中需要展示的字段,

class StudentAdmin(admin.ModelAdmin)
	list_display = ['id', 'name', 'gender', 'college', 'studetail']

4.2 允许链接

默认情况下只允许通过id字段访问详情,可以通过list_display_links给其他字段加上链接功能。

class StudentAdmin(admin.ModelAdmin)
	list_display_links = ['id', 'name']

4.3 查询

可以使用search_fields增加查询业务。

class StudentAdmin(admin.ModelAdmin)
	search_fields = ['name', 'gender', 'college__name']

4.4 过滤

使用list_filter过滤数据,达到筛选效果

class StudentAdmin(admin.ModelAdmin)
    list_filter = ['c_time', 'gender']

4.5 分页

使用list_per_page进行分页

class StudentAdmin(admin.ModelAdmin)
    list_per_page = 5

5. 具体显示

指数据库一条记录,或模型类一个实例的显示方式

#形如
修改 单个学生
姓名:		阿飞
年龄:		25
性别:		男
学院:  	  <火影村>
Is deleted

学生详情信息
单个学生详情: 阿飞 的详情页 
QQ号码:	  123123
联系电话:	111111

5.1 fields

fields:允许展示的属性及属性的先后顺序

class StudentAdmin(admin.ModelAdmin):
	fields = ['name', 'gender', 'age', 'college']

5.2 fieldsets

fieldsets:属性分组

class StudentAdmin(admin.ModelAdmin):
	    fieldsets = [
        (None, {'fields': ['name', 'gender']}),
        ('信息', {'fields': ['age', 'college']}),
        ('设置', {'fields': ['is_deleted']}),
    ]


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值