当前位置: 首页 > news >正文

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操作系统等内容,欢迎大家关注小编坐等更新,若是各位大神发现错误或者需要加的知识,欢迎大家前来指正,您的支持是我变强的最大动力!

相关文章:

  • Linux:confluence8.5.9的部署(下载+安装+破ji)离线部署全流程
  • 网卡配置基础知识
  • 【面试】介绍一下HotSpot虚拟机
  • Jenkins常用插件与应用详解
  • Python中Web开发-Django框架
  • uni-app实现页面通信EventChannel
  • php反序列化学习(2)
  • 代码随想录算法训练营第三十四 |● 1005.K次取反后最大化的数组和 ● 134. 加油站 ● 135. 分发糖果
  • 前端开发:$nextTick()的使用及原理
  • Leetcode 105:从前序与中序遍历序列构造二叉树
  • 大数据中的电商数仓项目:探秘业务的核心
  • 【C++】——string模拟实现
  • GB-T 43206-2023 信息安全技术 信息系统密码应用测评要求
  • Vim安装与配置教程(解决软件包Vim没有安装可候选)
  • Mac安装第三方软件的命令安装方式
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Akka系列(七):Actor持久化之Akka persistence
  • Django 博客开发教程 16 - 统计文章阅读量
  • Invalidate和postInvalidate的区别
  • jquery ajax学习笔记
  • 普通函数和构造函数的区别
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​queue --- 一个同步的队列类​
  • ​如何使用QGIS制作三维建筑
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • ## 基础知识
  • #Linux(Source Insight安装及工程建立)
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $GOPATH/go.mod exists but should not goland
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (论文阅读40-45)图像描述1
  • (三)c52学习之旅-点亮LED灯
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)我也是一只IT小小鸟
  • (转)用.Net的File控件上传文件的解决方案
  • *上位机的定义
  • . NET自动找可写目录
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET8使用VS2022打包Docker镜像
  • .NET处理HTTP请求
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .pyc文件是什么?
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • @SpringBootApplication 包含的三个注解及其含义
  • @vue/cli脚手架
  • [ SNOI 2013 ] Quare
  • [ vulhub漏洞复现篇 ] struts2远程代码执行漏洞 S2-005 (CVE-2010-1870)
  • [ 蓝桥杯Web真题 ]-布局切换
  • [AIGC] 深入浅出 Python中的`enumerate`函数
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析