19.admin后台管理

admin后台管理是管理数据库的

目录

1  创建超级用户

2  进入admin管理后台

3  查看站点

4  用户与组

5  添加组

6  添加用户

7  注册数据表

8  添加数据

9  删改数据

10  修改数据表界面

10.1  表头 list_display

10.3  过滤器 list_filter

10.4  搜索框 search_fields

10.5  列表页可修改项 list_editable


1  创建超级用户

使用之前我们需要创建一个超级用户,输入 python mange.py createsuperuser

按下回车后会提示输入用户名,这里如果直接按回车那么用户名就是admin

之后正常输入就可以了,我密码给的是12345678,实际工作中建议给一个复杂一点的密码

  • 超级用户可以创建多个

2  进入admin管理后台

开启服务后进入 127.0.0.1/admin ,会出现这样一个界面

输入我们刚刚创建的超级用户账号与密码进入管理界面

3  查看站点

点击查看站点会返回路由 127.0.0.1:8000(主页)

4  用户与组

点击用户后的修改

可以看到我们当前创建的用户信息

  • 这里是数据使用的是mysql中的auth_user。如果使用的是其他数据库也表名也相同。

如果我们点击某一个用户名,就可以修改这个用户的信息

这里我们可以看到密码是以密文的形式保存的

  • 运算方式为哈希运算,哈希运算不可逆,算法pbkdf2_sha256指的就是哈希运算,哈希运算迭代了260000次,盐是哈希运算中的组成部分,最后是结果

创建后超级用户最好将每一个使用者的信息都填全,填全之后可以通过admin日志找到账号,最后找到实际的使用者

下面我们可以看到该账号的权限

  • 有效是指该账号是否可用,可以理解为账号是否处于被激活状态,如果你把这个钩取消了,这个账号就登录不了了,相当于伪删除
  • 工作人员状态 如果勾选代表可以登录到当前管理站点,由于我们有可能将用户账号与员工账号都放在一个表中,我们使用该选项进行区分
  • 超级用户 这个拥有最高权限,可以设置别的用户的权限

在用户权限中我们可以自定义用户的权限,比如说浏览日志,改变日志这种

其中包括用户对其他表进行操作,想下面就是对图书表的增删改查

当用户过多的时候给每一个用户分配权限就比较麻烦,我们可以对 用户组 分配权限,根据每一个 用户组 的目的不同设置不同的权限,比如说运维的人员就需要给他最高权限,做图书管理的人员只给对图书表增删改查的四个权限

5  添加组

我们现在添加一个组

  • 有很多能添加的地方,不一定返回这个页面才能添加

6  添加用户

  • 在这里如果你的密码过于简单是不会让你创建成功的

创建成功后进入了我们刚刚看到的修改权限的页面

这个是创建用户后的初始状态

现在如果用刚创建的用户登录admin后台是登录不上去的

下面可以对这个用户设置组,并且你可以给这个用户额外的权限

修改后点击保存,这是我们就有了两个用户

7  注册数据表

我们当前在admin后台只能看到用户表

我现在想在admin后台中看到我们之前写的book_list,我们就要注册一下,我们在模型对应的应用中找到admin.py,然后加入下面这些内容

  • from .models import 模型名
  • admin.site.register(模型名)

这样我们就看到了book_list

  • 导入后首字母会变成大写,后面会再加一个s

点开后是这样的

这里每一条数据的显示状况是根据模型类中__str__的return定的

8  添加数据

点击右上角的增加可以增加数据

  • 是否显示也是我们之前自己定义的,布尔量会以复选框的形式存在

编辑完成后点击保存

可以看到我们刚刚添加的数据

9  删改数据

点击点进某一条数据,你可以对这一条数据进行删改

10  修改数据表界面

我们的用户表在admin后台中是这样的

而我们的图书列表当前是这样的

10.1  表头 list_display

我们觉得很不美观,我们简单弄一下,在admin中加入模型管理器类(类名不重要,继承的东西是一定的),然后定义属性list_display(名称固定)

列表中写的是我们模型类中的属性名,可以写全也可以不写全,写完后与注册在admin的表进行绑定

最终的效果是这样的,表头的中文是模型类的第一个参数,这个参数的名字叫做verbose_name

除了list_display还有很多其他的类属性,可以在pycharm中ctrl点击admin.ModelAdmin看一下,或者用help()也行

可以在这里看一下官方文档 The Django admin site | Django documentation | Django 我们后面简单说几个

现在修改连接是放在ID中,点击ID后可以进入修改界面

我现在想让修改连接放在书名与定价中

  • list_display_links的值一定要是list_display中的值

10.3  过滤器 list_filter

在用户表中有过滤器,我们也搞一个

在admin.py中加入list_filter

  • 这里我们发现list_filter的内容不一定要在list_display中

10.4  搜索框 search_fields

用户表里有个搜索框,我们搞一个

我们现在想让其搜索book_name与price有效

打开页面后发现搜索框已经出来了

我们搜索HTML5

我们再搜索90

我们再搜索105

书名与定价都没有105这个值,所以它什么也没有搜到

这个采用的是模糊查询,比如我现在搜索HT,也是可以搜出来的

10.5  列表页可修改项 list_editable

我现在想在表中直接修改price与retail_price两个

  • 注意list_editable的值不能与list_display_links的值重复,且一定要出现在list_display中

这样改完了点保存就行了

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
06-02

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值