企业网站建设之域名篇,怎么设计手机网站,长春的seo服务公司,wordpress 提供了 支持目录 21、Django Admin数据表可视化1. 创建超级用户2. 将Model注册到管理后台1)在admin.py文件中声明 3. django_admin_log数据表 21、Django Admin数据表可视化
在《Django Admin后台管理系统》介绍过 Django 的后台管理系统是为了方便站点管理人员对数据表进行操作。Django … 目录 21、Django Admin数据表可视化1. 创建超级用户2. 将Model注册到管理后台1)在admin.py文件中声明 3. django_admin_log数据表 21、Django Admin数据表可视化
在《Django Admin后台管理系统》介绍过 Django 的后台管理系统是为了方便站点管理人员对数据表进行操作。Django 的 ORM 模块提供了丰富的 API 用于实现对 Model 的增删改查但是对于 Web 站点的管理运营人员来说学习它们的成本较高且误操作的可能性较大。当然开发人员自己也可以去构建管理界面但是当系统越来越复杂Model越来越多的时候 就会增加很多重复性的工作。
综上所述Django 完全考虑到了这些问题它可以让开发人员几乎不用写代码就能拥有一个功能强大的 Model 管理后台。下面我们一起来学习 Django 提供的这个强大功能。
1. 创建超级用户
我们是使用在《Django Admin后台管理系统》中提到过的命令创建超级管理员账户命令如下所示
python manage.py createsuperuser --usernameadmin --emailadmin163.com这里将用户名设置为 admin邮箱设置为 admin163.com也可以根据自己的需要去修改。如果在 createsuperuser 后面不加任何内容Django 会提示用户输入用户名和邮箱。当前命令执行后需要重复输入两次密码密码可以根据自己的需要设置但是密码不能过于简单如下图所示表示创建成功 图1创建超级用户admin 提示超级用户拥有所有权限方便技术人员或非技术人员以可视化的形式对应用数据记录实现增删改查的操作。
在 CMD 命令行工具启动 BookStore 项目然后在浏览器地址栏输入 127.0.0.1:8000/admin 访问输入刚刚创建的超级用户名以及密码进行登录。如下所示登录成功 图2Admin后台超级用户登录 2. 将Model注册到管理后台
1)在admin.py文件中声明
那么如何把自定义的数据表 Model 注册到管理后台呢也就是说要把 Model 显示在 Admin 后台管理系统界面需要做哪些操作呢当我们使用 startapp 命令创建 index 应用的时候会自动创建 admin.py 文件想要把自定义的 Model 注册到管理后台就需要在 admin.py 文件中进行声明添加如下代码
from django.contrib import admin #Django自动在admin.py文件中导入
from index.models import Book, Author,UserInfo #这个需要我们自己导入相应的模型类数据表
admin.site.register([Book,Author,UserInfo])通过上述代码我们就完成了将 Model 注册到后台管理系统的操作其实实现的过程也非常的简单首先通过 django.contrib 的标准库引入 admin 应用然后把 index 应用下我们自定义的三张数据表引入最后我们调用 admin.site.register()方法实现模型类的注册。多个模型类一起注册我们使用列表的形式来统一注册如果是单一的模型类注册我们可以使用以下方式即可
admin.site.register(Book)
至此我们就完成了数据表在 Admin后台管理系统的可视化操作我们再次使用ctrlF5刷新后台管理系统的显示页面可以得到如下结果 图3admin 后台数据表可视化 提示在图 3 中每张数据表的名字都加上了 s 这是 Django 自动设定的我们可以通过相应的修改将其去掉在后续章节我们将介绍。
虽然看似页面简单并且没有太多的附加功能但是对于简单的增删改操作而言已经足够使用了。我们打开其中的 UserInfos 数据表来查看如下所示 图4admin后台数据表可视化 点击增加 USERI INFO 按钮会得到如下页面在此页面我们可以进行数据的添加、编辑、保存操作 图5admin后台数据表可视化 上图中提到的问题其实只需要我们在自定义的模型类中添加上一个字段选项 verbose_name 就可以修改了小伙伴们可以自己修改一下。
3. django_admin_log数据表
Admin 应用在数据库迁移的过程中只创建了 django_admin_log 一张表 用于记录通过管理后台完成的对 Model 的增删改操作如下所示是数据库迁移过程中生成的所有数据表
mysql show tables;
----------------------------
| Tables_in_bookstoredb |
----------------------------
| auth_group |
| auth_group_permissions |
| auth_permission |
| auth_user |
| auth_user_groups |
| auth_user_user_permissions |
| django_admin_log |
| django_content_type |
| django_migrations |
| django_session |
| index_author |
| index_book |
| index_userinfo |
----------------------------
13 rows in set (0.00 sec)我们可以使用desc命令查看 django_admin_log 表结构 如下所示
mysql desc django_admin_log;
---------------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
---------------------------------------------------------------------------
| id | int(11) | NO | PRI | NULL | auto_increment |
| action_time | datetime(6) | NO | | NULL | |
| object_id | longtext | YES | | NULL | |
| object_repr | varchar(200) | NO | | NULL | |
| action_flag | smallint(5) unsigned | NO | | NULL | |
| change_message | longtext | NO | | NULL | |
| content_type_id | int(11) | YES | MUL | NULL | |
| user_id | int(11) | NO | MUL | NULL | |
---------------------------------------------------------------------------
8 rows in set (0.01 sec)这些字段含义只做简单了解即可如下所示 id 是自增的主键字 action_timedatetime 类型保存操作发生的日期和时间 object_idlongtext 类型保存修改对象的主键 object_reprvarchar 类型保存修改后的对象执行 repr 函数的值repr 是 Python 的内置函数用于将对象转换为字符串 action_flag无符号 smallint 类型用于记录操作类型 ADDITION值为1表示添加、CHANGE值为 2表示更新、DELETION值为 3表示删除 change_messagelongtext 类型用于保存修改对象的详细描述 content_type_idint 类型外键关联 ContentType 对象 user_idint类型外键关键User对象默认值记录执行操作的用户。
本节我们在 Admin 后台管理系统实现了数据表的可视化通过这个功能我们就可以对数据表进行管理极大的方便了 Web 站点的管理人员。