Django——Admin站点(Python)

#前言:

该博客为小编Django基础知识操作博客的最后一篇,主要讲解了关于Admin站点的一些基本操作,小编会继续尽力更新一些优质文章,同时欢迎大家点赞和收藏,也欢迎大家关注等待后续文章。

一、简介:

Django的Admin站点是一个内置的功能,它提供了一个基于Web的界面,用于管理和维护Django应用程序的后台数据。通过Admin站点,你可以轻松地执行诸如创建、读取、更新和删除(CRUD)数据对象等常见操作,而无需编写自定义管理界面。

简单来说,Admin站点就是相当于提供了一个管理员平台,可以用来管理各种数据。

二、操作:

1、创建管理员用户:

在local下输入python manage.py createsuperuser

注意:创建用户名不能于数据库中以有的用户名重复,否则会报错。

邮箱填不填写都无所谓,密码你输入的过程不会出现显示,密码一般要求是八位以上,不够八位会让你选择是否确认密码就为此密码。

还有,密码与用户名不要出现相同的字符段。

创建成功后就会进入这个页面:

而我们要将英文转换为中文就需要在setting文件下:

LANGUAGE_CODE = 'en-us'

改为:

LANGUAGE_CODE = 'zh-Hans'

2、注册模型类:

在新创建的应用中创建模型类。

注意:在创建模型类时候,verbose_name是对admin站点服务的,它不会迁移到数据库当中,也不需要迁移。

from django.db import modelsclass Goods(models.Model):name=models.CharField(max_length=50,verbose_name='商品名称')price=models.DecimalField(max_digits=11,decimal_places=3,verbose_name='价格')sales=models.IntegerField(verbose_name='销量')stock=models.IntegerField(verbose_name='库存')class Meta:db_table='goods'verbose_name='商品数据表'

到所在的应用下的 rango.py 文件中进行注册。

方式一:

from django.contrib import admin
from rango.models import Goods
admin.site.register(Goods)

方式二:

@admin.register(Goods)
class GoodesAdmin(admin.ModelAdmin):pass

此时admin站点为:

此时在admin站点当中就可以进行一个数据的简单增删改查。

3、修改admin站点中的应用名称:

到所在应用中的 __init__.py 添加:
default_app_config = 'rango.apps.RangoConfig'

在对应的应用中的 app.py 文件中设置站点使用的应用名称

在 app.py 的类中添加属性:

verbose_name='商品表'

4、admin模型类操作:

admin 模型类数据操作 , 在 admin.py 文件中操作:

@admin.register(Goods)
class GoodesAdmin(admin.ModelAdmin):# list_display 在站点中显示指定字段的数据信息list_display = ['id','name' , 'price' , 'sales']# list_filter 选择指定的字段作为条件过滤list_filter = ['name' , 'sales']# list_per_page 设置分页 , 指定每一页有多少条数据list_per_page = 2# search_fields 配置搜索条件 , 指定字段用元组类型search_fields = ('name','id')# list_editable 配置在显示列表中设置允许修改的字段list_editable = ('name' , 'price')# fields 在数据详情页中设置指的允许修改的字段# fields = ('name',)# fieldsets 设置在数据详情页中分组显示数据字段fieldsets = (# ('分组名称' , {'fields' : [指定字段名]})('商品基本信息' , {'fields':['name' , 'price']}),('商品销量信息' , {'fields':['sales' , 'stock']}),)# 设置只读字段readonly_fields = ('name',)

在 admin 站点中可以自定义字段,不影响数据库:

def num(g):# 参数 g:下面的类会自动的将模型类传入add = g.price * g.salesreturn add
# 将自定义的字段名修改为中文 , 不显示函数名
num.short_description = '商品销售额'@admin.register(Goods)
class GoodesAdmin(admin.ModelAdmin):# list_display 在站点中显示指定字段的数据信息list_display = ['id','name' , 'price' , 'sales' , num]

三、总结:

关于Django操作的一些基本知识点操作我在这儿就基本讲解完成了,后续小编会更新一些用Django来做项目和Redis数据库、Linux操作系统等内容,欢迎大家关注小编坐等更新,若是各位大神发现错误或者需要加的知识,欢迎大家前来指正,您的支持是我变强的最大动力!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Firefox国际版

Firefox国际版官方网址: Download the Firefox Browser in English (US) and more than 90 other languagesEveryone deserves access to the internet — your language should never be a barrier. That’s why — with the help of dedicated volunteers around…

基础—SQL—DQL(数据查询语言)案例练习

一、需求 0、emp 表的初始数据 1、查询年龄为20,21,22,23岁的员工信息。 SELECT * FROM emp WHERE gender女AND age IN(20,21,22,23); 2、查询性别为男,并且年龄在20-40岁(含)以内的姓名为三个字的员工。 SELECT * FROM emp WHERE gender男 AND age BETWEEN 20 AND …

记 Codes 开源免费研发管理平台 —— 日报与工时融合集中式填报的创新实现

继上一回合生成式全局看板的创新实现后,本篇我们来讲一讲日报与工时融合集中式填报的创新实现。 市面上所有的研发管理软件,大多都有工时相关功能,但是却没有日报功能,好像也没什么问题,但是在使用过程中体验非常不…

LeetCode-131 分割回文串

LeetCode-131 分割回文串 题目描述解题思路C 代码 题目描述 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串。返回 s 所有可能的分割方案。 示例 1: 输入:s “aab” 输出:[[“a”,“a”,“b”],…

Docker安装Redis(云服务器)

准备: 在云服务器中开启6370端口号 docker run -d --name redis -p 6379:6379 redis 这条命令使用docker运行一个名为"redis"的容器,映射容器的6379端口到主机的6379端口,并且使用redis镜像来运行容器。REDIS是一个开源的内存数据…

线上 | OpenSergo - [规范]

INDEX 1 参考资料2 OpenSergo 与 Sentinel 关系3 规范体系3.1 服务元数据ReportMetadataRequest 信息![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ffba569841ae4668b4cff74e4d41d21f.png)##### ReportMetadataReply 信息![在这里插入图片描述](https://img-blog…

MMrotate报错AttributeError: ‘NoneType‘ object has no attribute ‘shape‘

使用MMrotate训练自定义数据集报错: AttributeError: ‘NoneType’ object has no attribute ‘shape’ 2024-05-31 17:48:06,121 - mmrotate - INFO - workflow: [(train, 1)], max: 12 epochs 2024-05-31 17:48:06,121 - mmrotate - INFO - Checkpoints will be …

【高校科研前沿】南大王栋、吴吉春教授团队在深度学习助力水库生态调度和优化管理方面取得新进展,成果以博士生邱如健为一作发表于水环境领域国际权威期刊

1.文章简介 论文名称:Integration of deep learning and improved multi-objective algorithm to optimize reservoir operation for balancing human and downstream ecological needs 第一作者及单位:邱如健(博士生 南京大学)…

JSON Web Token

JWT 什么是JWT JWT(JSON Web Token)是一种用于在各方之间作为JSON对象安全地传输信息的开放标准(RFC 7519)。该信息经过数字签名,因此是可验证和可信的。JWT 可以使用HMAC算法或使用RSA的公钥/私钥对进行签名 JWT的…

【C++】——string模拟实现

前言 string的模拟实现其实就是增删改查,只不过加入了类的概念。 为了防止与std里面的string冲突,所以这里统一用String。 目录 前言 一 初始化和销毁 1.1 构造函数 1.2 析构函数 二 迭代器实现 三 容量大小及操作 四 运算符重载 4.1 bool…

SpringCloud学习笔记(一)

SpringCloud、SpringCloud Alibaba 前置知识: 核心新组件: 所用版本: 学习方法: 1.看理论:官网 2.看源码:github 一、微服务理论知识 二、关于SpringCloud各种组件的停更/升级/替换 主业务逻辑是&#x…

中建环能 | “农村生活污水治理稳质增效与智能运维技术研究及成套装备应用” 科技成果评价

中华环保联合会组织召开了中建环能科技股份有限公司申请的“农村生活污水治理稳质增效与智能运维技术研究及成套装备应用”技术成果评价会。会议由中华环保联合会水环境治理专业委员会秘书长刘愿军主持。 评审会委员 本次评价会邀请了7位相关专业领域的专家组成专家评价委员会。…

977. 有序数组的平方 - 力扣

1. 题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 2. 示例 3. 分析 我们当然可以遍历数组平方元素,然后再使用sort排序,但这里时间复杂度就为 O(logN) 了。 我…

音视频开发—视频相关概念:YUV与RGB

文章目录 YUV相关概念组成部分优点常见的 YUV 格式数据量的计算YUV4:2:0 存储格式平面模式(planar):打包模式(packed) RGB 和 YUV 的定义关系与转换RGB 到 YUV 的转换YUV 到 RGB 的转换 使用场景优缺点 YUV相关概念 YUV 是一种颜色编码格式&…

Linux--EXT2文件系统

参考资料: linux之EXT2文件系统--理解block/block group/索引结点inode/索引位图_一个块组中索引节点表和数据块区最多占用字节-CSDN博客 linux环境: Linux version 5.15.146.1-microsoft-standard-WSL2 (root65c757a075e2) (gcc (GCC) 11.2.0, GNU ld…

GPT-4o有点坑

GPT-4o有点坑 0. 前言1. GPT-4o简介2. GPT-4o带来的好处2.1 可以上传图片和文件2.2 更丰富的功能以及插件 3. "坑"的地方3.1 使用时间短3.2 GPT-4o变懒了 4. 总结 0. 前言 原本不想对GPT-4o的内容来进行评论的,但是看了相关的评论一直在说:技…

truncate IDL_UB1$导致数据库open hang---惜分飞

在一次数据库恢复中,发现IDL_UB1$表被truncate,然后数据库在open过程中会hang住,而且不报任何错误,这里通过试验进行重现.对于这类问题,以前有过类似处理测试:truncate IDL_UB1$恢复试验数据库版本 SQL> select * from v$version; BANNER ---------------------…

vue3学习(六)

前言 接上一篇学习笔记,今天主要是抽空学习了vue的状态管理,这里学习的是vuex,版本4.1。学习还没有学习完,里面有大坑,难怪现在官网出的状态管理用Pinia。 一、vuex状态管理知识点 上面的方式没有写全,还有…

对象转为Map

方案一&#xff0c;Jackson String json objectMapperFace.writeValueAsString(contract);Map<String,Object> map objectMapperFace.readValue(json, Map.class);方案二 &#xff0c; apache BeanUtils Map<String,String> beanMap null;try {beanMap BeanUti…

MyBatis延迟加载缓存分页逆向工程

文章目录 延迟加载概述步骤 缓存一级缓存介绍原理 二级缓存介绍 设置缓存对象策略原理开启步骤属性解释是否使用一级缓存 分页插件使用步骤 逆向工程介绍搭建使用增删修改查 延迟加载 概述 延迟加载本身是依赖于多表查询的 延迟加载中返回值要选择resultMap返回的结果一定是D…