Django——admin创建和使用
1. Django Admin简介
Django Admin是Django框架自带的一个管理后台工具,它允许开发者通过一个直观的Web界面轻松地管理应用中的数据模型。Admin提供了模型的CRUD(Create,Read, Update, Delete)操作,以及数据的批量处理和搜索功能,极大地简化了日常的数据库管理。它不仅适用于开发阶段,也非常适合在生产环境中进行数据维护。
2. Admin界面定制
Django Admin提供了丰富的定制选项,允许开发者根据项目需求调整界面。
- 自定义Admin模板:可以通过创建自定义的模板来改变Admin界面的外观,
AD:首页 | 一个覆盖广泛主题工具的高效在线平台例如修改admin/base_site.html。 - 自定义Admin CSS和JavaScript:可以在
settings.py中添加自定义的CSS和JavaScript文件,以改变Admin的样式和行为。
2.2 使用Admin类进行高级配置
Django Admin使用Admin类来配置模型的管理界面。
- 创建Admin类:在
admin.py中,为每个模型创建一个Admin类,例如class MyModelAdmin(admin.ModelAdmin): ...。 - 注册Admin类:使用
admin.site.register(MyModel, MyModelAdmin)注册模型和其对应的Admin类。 - 配置选项:在Admin类中,可以设置各种选项,如
list_display用于指定列表页面显示的字段,search_fields用于添加搜索框等。
2.3 字段和字段集的管理
- 字段管理:可以在Admin类中使用
fields或fieldsets属性来控制编辑页面中字段的显示。 - 字段集:
fieldsets
允许将字段分组,提供更好的用户体验,例如fieldsets = [('基本信息', {'fields': ['name', 'description']}), ...]。
2.4 列表页面的优化
- 自定义列表视图:使用
list_display来控制列表页面显示的字段,list_filter来添加过滤器,ordering来设置默认排序。 - 添加操作按钮:使用
actions属性来添加批量操作,如批量删除或标记为已读。
2.5 使用内联模型
内联模型允许在父模型的编辑页面中直接编辑相关联的模型。
- 定义内联模型:在Admin类中使用
inlines
属性,例如class RelatedModelInline(admin.TabularInline): model = RelatedModel。 - 使用内联模型:在父模型的Admin类中添加内联模型,如
inlines = [RelatedModelInline]。
3 admin的定制与扩展
3.1 自定义Admin模板
- 自定义Admin模板:Django Admin允许你自定义Admin界面的外观和行为,包括修改模型的列表、表单和详细页面的外观。
- 自定义Admin样式:可以通过覆盖Admin模板或使用自定义CSS来调整Admin界面的样式。
3.2 使用Admin actions
- Admin actions:Django Admin提供了Admin actions功能,允许你在Admin界面上批量处理对象,如批量删除、导出等操作。
- 自定义Admin actions:你可以编写自定义的Admin actions来执行特定的批量操作。
3.3 集成第三方应用
- 第三方应用集成:Django允许你轻松地集成第三方应用,通过安装和配置第三方应用,你可以扩展Django的功能。
3.4 国际化和本地化
- 国际化:Django提供了国际化支持,允许你将应用程序本地化为多种语言。
- 本地化:通过使用Django的内置国际化工具和翻译机制,可以轻松地将应用程序本地化为不同的语言和地区。
3.5 使用Django REST Framework进行API开发
- Django REST Framework:DRF是一个强大且灵活的工具,用于构建Web API。它提供了丰富的功能,包括序列化、视图、认证、权限等。
- API开发:通过DRF,你可以快速构建出符合RESTful设计原则的API,为移动应用、前端框架或其他服务提供数据接口。
代码定制的例子:
# Register your models here.
from django.db import modelsfrom blog.models import Articleadmin.site.site_header= "座舱软件部-自动化测试平台"
admin.site.site_title= "座舱软件部-自动化测试平台"#@admin.register(Article)class ArticleAdmin(admin.ModelAdmin):#编辑要显示的信息list_display = ["title","brief_content","publish_date"]#list_filter = ['title']#搜索的字段search_fields = ['title', 'brief_content']admin.site.register(Article,ArticleAdmin)
相关文章:
Django——admin创建和使用
1. Django Admin简介 Django Admin是Django框架自带的一个管理后台工具,它允许开发者通过一个直观的Web界面轻松地管理应用中的数据模型。Admin提供了模型的CRUD(Create,Read, Update, Delete)操作,以及数据的批量处理和搜索功能…...
鸿蒙开发(NEXT/API 12)【硬件(取消注册智慧出行连接状态的监听)】车载系统
取消注册智慧出行连接状态的监听。 接口说明 接口名描述[off] (type: ‘smartMobilityStatus’, smartMobilityTypes: SmartMobilityType[], callback?: Callback): void取消注册智慧出行连接状态的监听。 开发步骤** 导入Car Kit模块。 import { smartMobilityCommon } fr…...
JVM中的GC流程与对象晋升机制详解
一、垃圾回收的概念 1.1 什么是垃圾回收? 垃圾回收是自动回收不再使用的对象,从而释放内存的一种机制。通过GC,JVM能够动态地管理内存的分配与回收,避免内存泄漏和溢出。 1.2 GC的重要性 内存管理:GC自动处理对象的…...
SQL:如果字段需要排除某个值但又有空值时,不能直接用“<>”或not in
在 SQL 中,如果字段需要排除某个值但又有空值存在时,不能直接使用“<>”(不等于)或 NOT IN,是因为这些操作会把空值也考虑进去,但通常情况下可能并不希望空值被这样处理。 以下是一些解决方法&#…...
运放模块的选型参数
增益带宽积-----尤其重要: GWB 增益*带宽 压摆率: 高带宽的运放一般都是电流型运放: 注意压摆率计算公式里面的Vopp参数是放大后的电压最大值: 参数,布局一定参考数据手册!!!&…...
win10文件共享设置 - 开启局域网文件共享 - “您没有权限访问,请与网络管理员联系请求访问权限”解决方案
实现步骤: 1、在“网络和共享中心”关闭“密码保护的共享” 2、在“启用和关闭windows功能”中开启SMB文件共享支持。 3、在磁盘安全选项中添加“everyone”用户(重点!) 详细操作: https://blog.csdn.net/Skyirm/a…...
Go基础编程 - 16 - 方法
方法 概述1. 方法定义2. 值方法、指针方法3. 方法集合 匿名字段表达式自定义 error 上一篇:延迟调用(defer) 概述 1. 方法定义 func (receiver T) 方法名(参数列表) (返回值列表){}receiver:接收者参数名T…...
接口报错500InvalidPropertyException: Invalid property ‘xxx[256]‘,@InitBinder的使用
org.springframework.beans.InvalidPropertyException: Invalid property ‘xxx[256]’ of bean class [com.xxl.MailHead]: Invalid list index in property path ‘xxx[256]’; nested exception is java.lang.IndexOutOfBoundsException: Index: 256, Size: 256 从报错可以…...
Web 3.0 介绍
Web 3.0 是互联网的下一代发展阶段,通常被称为去中心化的网络。它与目前的 Web 2.0(以社交媒体、云计算和中心化平台为主导)不同,强调用户对数据和内容的更多掌控,依靠区块链、加密货币、去中心化应用(DApp…...
一起搭WPF界面之界面切换绑定
一起搭WPF界面之界面切换绑定 前言界面填充总结 前言 在主界面中定义Grid网格,界面网格化后,可以模块化搭建界面进行填充。 界面填充 总结 提示:这里对文章进行总结: 例如:以上就是今天要讲的内容,本文仅…...
css 数字比汉字要靠上
这个问题通常是由于数字字体的下排的问题造成的,也就是数字的底部边缘位置比汉字的顶部边缘位置更靠下。为了解决这个问题,可以尝试以下几种方法: 使用CSS的vertical-align属性来调整对齐方式。例如,可以将数字的对齐方式设置为to…...
sentinel原理源码分析系列(三)-启动和初始化
本文是sentinel原理源码分析系列第三篇,分析sentinel启动和初始化 启动/初始化 sentinel初始化分两块,静态初始和适配器(包括aop) 静态初始 1. Root EntranceNode 如果我们用一栋楼类比资源调用,root EntranceNode好比一栋楼的大门&…...
计算机网络(九) —— Tcp协议详解
目录 一,关于Tcp协议 二,Tcp报头字段解析 2.0 协议字段图示 2.1 两个老问题 2.2 16位窗口大小 2.3 32位序号和确认序号 2.4 6个标记位 三,Tcp保证可靠性策略 3.1 确认应答机制(核心) 3.2 超时重传机制 3.3 …...
跨境支付专业术语
跨境支付 跨境支付是指支付或者清结算过程发生在两个及以上的国家地区之间、实现了资金跨国跨地区转移的支付行为。 境外本地支付 境外本地支付是指支付和清结算过程同时发生在单个国家或地区境内,资金在本国家或地区内部转移的支付行为。 国际汇款 国际汇款指跨…...
多级目录SQL分层查询
需求:有多级目录,而目录的层级是不固定的,如下图所示: 数据结构: sql语句: <select id"getList" resultType"com.hikvision.idatafusion.dhidata.bean.vo.knowledgebase.KnowledgeBaseT…...
VulnHub-SickOs1.1靶机笔记
SickOs1.1靶机笔记 概述 Vulnhub的靶机sickos1.1 主要练习从互联网上搜取信息的能力,还考察了对代理使用,目录爆破的能力,很不错的靶机 靶机地址: 链接: https://pan.baidu.com/s/1JOTvKbfT-IpcgypcxaCEyQ?pwdytad 提取码: yt…...
【Python】数据可视化之点线图
目录 散点图 气泡图 时序图 关系图 散点图 Scatterplot(散点图)是一种用于展示两个变量之间关系的图表类型。在散点图中,每个观测值(或数据点)都被表示为一个点,其中横轴(…...
jupyter使用pytorch
1、激活环境 以下所有命令都在Anaconda Prompt中操作。 conda activate 环境名称我的环境名称是myenv 如果不知道自己的pytorch配在哪个环境,就用下面方法挨个试。 2、安装jupyter 1、安装 pip install jupyter2、如果已经安装,检查jupyter是否已…...
Electron 安装以及搭建一个工程
安装Node.js 在使用Electron进行开发之前,需要安装 Node.js。 官方建议使用最新的LTS版本。 检查 Node.js 是否正确安装: # 查看node版本 node -v # 查看npm版本 npm -v注意 开发者需要在开发环境安装 Node.js 才能编写 Electron 项目,但是…...
羽毛类型检测系统源码分享
羽毛类型检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…...
WinGet安装工具:PowerShell自动化部署的架构解析与实践指南
WinGet安装工具:PowerShell自动化部署的架构解析与实践指南 【免费下载链接】winget-install Install WinGet using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2019/2022. 项目地址: https://gitcode.com/gh_mirror…...
[GESP202512 C++ 三级] 选择题第 8 题 ← unsigned int
【题目描述】 在一个特定的计算机系统中,假如 unsigned int 类型需要占用2个字节的存储空间(每个字节有8位),则 unsigned int 可以表示的数据范围是( A ) A. 0 ~ 65535 B. 0 ~ 65536 C. -65536 ~ 655…...
PlantUML Editor:5分钟学会用代码绘制专业UML图的终极工具
PlantUML Editor:5分钟学会用代码绘制专业UML图的终极工具 【免费下载链接】plantuml-editor PlantUML online demo client 项目地址: https://gitcode.com/gh_mirrors/pl/plantuml-editor 还在为复杂的UML图表绘制而烦恼吗?PlantUML Editor是一款…...
基于TRRS Trinkey的辅助技术设备开发:从接口转换到可编程交互
1. 项目概述:当辅助技术遇上可编程硬件如果你接触过辅助技术(Assistive Technology, AT),或者身边有朋友需要借助特殊设备与数字世界交互,你可能会发现,市面上很多现成的开关、控制器要么功能单一ÿ…...
Llama 的演变:从 Llama 1 到 Llama 3.1
原文:towardsdatascience.com/the-evolution-of-llama-from-llama-1-to-llama-3-1-13c4ebe96258 本文与 Rafael Guedes 共同撰写。 简介 Meta 已经发布了其大型语言模型(LLM)Llama 的三个主要版本,以及一个较小的更新࿰…...
从EGO-Planner到集群协同:分布式轨迹优化在无人机编队中的应用
1. 项目概述:从单机到集群的自主飞行进化如果你玩过无人机,或者关注过机器人领域,大概会知道让一台机器在空中自主规划路径、避开障碍物已经是个不小的挑战。那么,想象一下,让一群无人机像鸟群一样,在复杂、…...
嵌入式音频处理与SD卡系统克隆实战指南
1. 项目概述与核心价值如果你正在捣鼓一块像Chumby Hacker Board这样的嵌入式开发板,或者任何带有音频输出和SD卡存储的Linux设备,那么你迟早会碰到两个绕不开的“硬骨头”:音频信号的处理和存储系统的克隆部署。前者决定了你的设备能不能“好…...
pgwatch2存储后端对比:PostgreSQL vs InfluxDB vs Prometheus – 选择最适合你的监控方案
pgwatch2存储后端对比:PostgreSQL vs InfluxDB vs Prometheus – 选择最适合你的监控方案 【免费下载链接】pgwatch2 PostgreSQL metrics monitor/dashboard 项目地址: https://gitcode.com/gh_mirrors/pg/pgwatch2 pgwatch2是一款灵活的PostgreSQL指标监控和…...
77种商品-图像分类数据集
77种商品图像分类数据集 数据集(文章最后关注公众号获取数据集): 链接: https://pan.baidu.com/s/1Xcj5Z-RSUjGH47OIbH5wjQ?pwd=fq2p 提取码: fq2p 数据集信息介绍: 以下是整理后的清晰呈现,按照商品名称首字母顺序进行排列: 东方树叶红茶:文件夹中的图片数量为 150 …...
在职场上,别人对你的态度,都是你允许的:“他为什么敢这样对我?”“他为什么不怕得罪我?”“我有什么好怕的?”
当有人在公司凶你时:别问"他为什么凶我",要问"他为什么敢" 目录 当有人在公司凶你时:别问"他为什么凶我",要问"他为什么敢" 别人敢在公司得罪你,是因为他早已算清了这笔账 他不怕得罪你,说明在他眼里你"没有威胁性" …...
