Django基础入门:后台管理 超级用户 数据表注册操作③

news2024/9/19 10:44:35

Django基础入门:后台管理 超级用户 数据表注册操作③

  • Django Admin数据表
      • 后台管理
      • 超级用户
      • 数据表注册
      • admin操作日志

🏘️🏘️个人简介:以山河作礼。
🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主
🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读!
🎁🎁:文章末尾扫描二维码可以加入粉丝交流群,不定期免费送书。


Django Admin数据表

Django 的后台管理系统是非常出色的,新建项目以后,Django 就为我们设置好了后台管理系统的各种功能。

后台管理

  • Django Admin 后台管理是 Django 自带的一个功能强大的应用程序,它可以帮助开发人员快速构建一个完全可定制的管理界面。通过Admin 后台管理,管理员可以方便地修改和管理网站中的数据库内容,而无需写任何代码。它提供了对 Django 模型的 CRUD操作(增删改查)功能,并且支持高级功能,如搜索、筛选、排序、分页、导出、导入数据等,管理员只需要使用简单的图形界面就可以完成所有操作。
  • 开发人员可以通过在 Django 中创建数据库模型类,自动构建一个功能强大的管理界面,而无需自己设计或编写管理界面所需的 HTML、CSS和 JavaScript等前端代码。管理员可以登录后台管理界面,在列表视图中查看并操作所有可管理的模型,也可以使用自定义表单展示数据、筛选、搜索、排序、分页等功能,更多高级功能则可以通过自定义Admin 类来实现。

🎯Django Admin 后台管理的主要优点包括:

  • 快速创建:通过在数据库模型类上增加 admin.site.register 注册,就可以获得一个基本的管理页面。
  • 前后端分离:无需自定义管理页面的前端代码,只需专注于编写后台数据库模型类。
  • 自定义灵活:可以通过定义自定义的 Admin 类,对 Admin 展示页面进行扩展、定制和优化。
  • 安全性:可以对每个用户进行授权和权限管理,比如只允许管理员进行某些类型的操作。

总体而言,Django Admin 后台管理是 Django框架的重要组成部分之一,它提供了强大、灵活、安全的管理界面,使得管理员可以轻松地管理和操作数据库内容。

超级用户

  • 这样强大的功能,使用前我们先创建一个超级用户
$ python manage.py createsuperuser
  • 依次输入用户名(12345678)、邮箱(12345678@qq.com)、密码(00000000)
  • 创建后在网址输入账号密码:http://127.0.0.1:8000/admin/

📌也可以确定某些参数:

$ python manage.py createsuperuser --username=admin --email=admin@163.com

这里将用户名设置为 admin,邮箱设置为 admin@163.com,也可以根据自己的需要去修改。如果在 createsuperuser后面不加任何内容,Django会提示用户输入用户名和邮箱。当前命令执行后,需要重复输入两次密码,密码可以根据自己的需要设置,但是密码不能过于简单。

📌如下图所示,表示创建成功:
在这里插入图片描述

🎯注意:输入密码的时候,不会显示

🎯注意:超级用户拥有所有权限,方便技术人员或非技术人员以可视化的形式对应用数据记录实现增删改查的操作

启动 BookStore 项目,然后在浏览器地址栏输入 127.0.0.1:8000/admin 访问,输入刚刚创建的超级用户名以及密码进行登录。
🎯如下所示登录成功
在这里插入图片描述

管理员账号信息存储在auth_user中

数据表注册

  • 在admin.py文件中声明

    当我们使用 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后台管理系统的可视化操作,我们再次使用ctrl+F5刷新后台管理系统的显示页面,可以得到如下结果:

在这里插入图片描述

图中每张数据表的名字都加上了s,这是Django自动设定的,我们可以通过相应的修改将其去掉,

📌 虽然看似页面简单并且没有太多的附加功能,但是对于简单的增删改操作而言已经足够使用了。我们打开其中的 UserInfos 数据表来查看,如下所示:

在这里插入图片描述

📌 点击增加 USERI INFO 按钮会得到如下页面,在此页面我们可以进行数据的添加、编辑、保存操作:

在这里插入图片描述

admin操作日志

Admin 应用在数据库迁移的过程中只创建了 django_admin_log 一张表 ,用于记录通过管理后台完成的对 Model 的增删改操作。

📌如下所示,是数据库迁移过程中生成的所有数据表:

在这里插入图片描述

📌查看 django_admin_log 表结构, 如下所示:

在这里插入图片描述

📌这些字段含义只做简单了解即可,如下所示:

  • id是自增的主键

  • action_time:datetime 类型,保存操作发生的日期和时间

  • object_id:longtext 类型,保存修改对象的主键

  • object_repr:varchar 类型,保存修改后的对象执行 repr 函数的值,repr 是 Python 的内置函数,用于将对象转换为字符串;

  • action_flag:无符号 smallint 类型,用于记录操作类型 ADDITION(值为1,表示添加)、CHANGE(值为 2,表示更新)、DELETION(值为 3,表示删除);

  • change_message:longtext 类型,用于保存修改对象的详细描述;

  • content_type_id:int 类型,外键关联 ContentType 对象;

  • user_id:int类型,外键关键User对象(默认值),记录执行操作的用户。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/639158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用randoop自动化生成测试用例

1. 综述 使用randoop自动化生成测试用例 2. 操作 下载randoop的jar包;将jar包和所要测试的类(如Calculate.class)放在同一个文件夹;在此文件夹打开命令行提示符,输入如下命令: java -ea -classpath .;ra…

嵌入式Linux驱动开发 05:阻塞与非阻塞

文章目录 目的基础说明开发准备驱动程序应用程序 O_NONBLOCK应用程序驱动程序程序演示 poll应用程序驱动程序程序演示 异步通知应用程序驱动程序程序演示 总结 目的 不管在应用开发还是驱动开发中阻塞和非阻塞都是绕不开的话题。这篇文章将介绍相关的基础内容。 这篇文章中内…

Redis命令-认识NoSQl和Redis常见的通用命令

1. 认识NoSQL 非关系型数据库 NoSQL是指一类非关系型数据库,它们采用的数据模型不同于传统的关系模型,它通常使用键值对、文档、图形等非传统的数据结构进行数据存储,不遵循预定义的模式和模型。NoSQL数据库通常分布式、高可扩展性&#xff0…

理解Java ThreadLocal

原文链接 理解Java ThreadLocal ThreadLocal是Java提供的为每个线程存储线程独立的数据的存储方式,也就是说用ThreadLocal来保存的数据,只能被当前线程所访问,其他线程无法访问,因为只有(一个线程)当前线程…

六级备考6天|CET-6|听力第五六讲|6月11日|19:44~20:07

目录 第五讲 第六讲 第五讲 第六讲 ​​​​​​​

支付宝认证的作用是什么?考试方向有哪些?

通过考证书来提升自己的能力,是现在的打工人经常会做的事,而对于从事信息通信技术行业的人来说,可以选择的证书非常多,其中支付宝认证是一个新设立的证书,但是实用性非常高。支付宝作为我们生活中常用的软件&#xff0…

arthas 的初使用

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信…

PD QC诱骗取电应用IC《乐得瑞LDR6328S》广泛应用于各大小家电

随着现在智能家居的应用越来越广泛,带电池的产品一天比一天多,今天这篇文章就来讲一下那些支持快速充电(PD QC)的产品应用电路是怎么实现的 USB PD受电端取电芯片(乐得瑞取电受电)LDR6328S 支持多协议快充取电! 1、概述 LDR6328S…

推荐5款你可能没见过的效率软件

你有没有想过,有些软件能让你的电脑用起来更方便,更快,更好看?这篇文章就为你介绍了五款这样的软件,它们分别是BreeZip,ClipClip,燃精灵,Sticky Notes和Tabby。下面我们来看看它们都…

增强 Kubernetes 可观测性:API Server Tracing 特性已到达 Beta 版本

标题 在分布式系统中,很难弄清楚问题在哪里。 想象一个场景,这也是 Kubernetes 集群管理员最常遇到的问题,Pod 无法正常启动,这时候作为管理员,我们会先去思考这可能是哪个组件出了问题,然后去对应的组件查…

Parallel Desktop下的Centos 9 ping通网络,配置静态ip的全过程

目录 一、发现问题1. 找不到网卡配置文件2. 网络重启的命令一直无法执行成功 二、分析问题三、解决问题系统环境1. 打开网卡配置文件2. 修改ipv4配置3. 重载网卡配置文件4. ping通,可以正常上网了 四、疑问1. 如何确定自己是不是设置了静态ip2. DHCP是固定静态ip 的…

OC(iOS)中常见的面试题汇整(大全)

你如何理解OC这门语言的?谈一下你对OC的理解? OC语言是C语言的一个超集,只是在C语言的基础上加上了面向对象的语言特征,如:继承,封装,多态. 封装:把属性和方法封装成一个类,方便我们使用 多态:不同对象对于同一消息的不同响应,子类可以重写父类的方法,且…

SpringMVC简介及入门案例

1.SpringMVC简介 SpringMVC是一种基于Java实现MVC模型的轻量级Web框架优点:相较于Servlet使用简单,开发便捷。灵活性比较强。 后端做表现层技术开发的框架有Servlet,SpringMVC技术同样也是做表现层技术开发框架,JDBC以及Mybatis数…

Linux内核中内存管理相关配置项的详细解析6

接前一篇文章:Linux内核中内存管理相关配置项的详细解析5 六、Memory hotplug 此项只有选中和不选中两种状态,默认为选中。 此项展开后如下图所示: 1. Online the newly added memory blocks by default 对应配置变量为:CONFIG…

神经网络编程基础

1、二分类(Binary Classification) (1)、逻辑回归(logistic regression)是一个用于二分类(binary classification)的算法。所谓二分类是由输入到判断输出结果是或者不是。比如输入一个包含动物的图片,判断这张图片中的动物是否包含猫&#x…

成为优秀自动化测试工程师的7个步骤

在这里,我将详细解释成为测试自动化工程师的七个最重要的步骤。因此,所有希望将职业转向自动化测试的人都要注意所有这些。 1. 不要忽视手动测试 虽然我了解公司正在转向无代码自动化测试工具,达到专家级别并跟上行业自动化测试工程师的竞争…

ELK 日志采集使用

1.安装ELK整体环境 1.1.安装docker环境 Docker 最新版Version 20.10安装_docker最新版本是多少_猿小飞的博客-CSDN博客 1.2.先安装docker compose 安装docker compose_猿小飞的博客-CSDN博客 1.3.使用 Docker Compose 搭建 ELK 环境 1.3.1.编写 docker-compose.yml 脚本启…

从增强器Advisor窥探AOP原理

Spring创建Aop代理过程 AbstractAutowireCapableBeanFactory Object createBean(String beanName, RootBeanDefinition mbd, Nullable Object[] args)Object resolveBeforeInstantiation(String beanName, RootBeanDefinition mbd)Object applyBeanPostProcessorsBeforeInsta…

【算法基础】常数操作 时间复杂度 选择排序 冒泡排序 插入排序 位运算

常数操作 定义 一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作叫做常数操作,比如常见的计算操作:加减乘除。 取出数组中任意位置元素可以叫做常数操作,因为数组的地址是连续的,计算机取的时候可以…