使用Django的admin功能管理数据_vscode

之前的文章 项目 hello_django, app名 hello,已有的model LogMessage:

https://blog.csdn.net/weixin_44741835/article/details/136202771?spm=1001.2014.3001.5502

参考得到电子书:第八章。

https://www.dedao.cn/ebook/reader?id=rEQKv6PKN7rEo2Gxg96ZjApyMvQVlw5q1rwXb14PJzDkYaReqd8n5LOmB8d7egBx

目标,可以通过admin输入信息(家庭图书信息,尽量能处理图片)

深入理解admin

8.1.1 使用中文界面

在settings.py文件中设置Middleware。

运行程序后结果:

报错了,应该是新版本不支持这种方法了。 只能使用英文界面了。 (需要查询Django的官方文档来改一下了。Django documentation | Django documentation | Django)。新增的语句先注释掉。

8.1.2 应用后端管理

1. 应用模型注册

已经创建的应用名为hello,在路径下同步产生admin.py文件。

第一步:

hello路径下的打开admin.py文件。做如下修改:

第二步:检查结果

2.模型数据后端操作

完成注册后,就可以在Admin中对模型数据进行增,删,改操作了。标准 操作。

3.后端管理功能完善

(1)提供中文应用名

应用路径下的__init__.py文件:

改过之后没有效果。程序是执行了,但是无效。<需要再看>

(2)模型名改为中文

修改model.py文件,增加内容。更改成功。

(3)显示指定字段内容:hello应用中的admin.py文件进行修改:

在Admin字段显示的内容变化,为Message 和时间两个字段。结果如图:

(4)更改后端管理系统显示名称

修改admin.py 文件,增加两句描述:

修改后效果:

8.2 ModelAdmin

Django提供了功能更加强大的ModelAdmin类。 ModelAdmin类支持非常多的属性和方法,为后端管理系统提供了强大的二次开发能力。可以通过右键的defination的方式查看源代码。

源代码显示如下图

8.2.1 ModelAdmin属性

8.2.1.1 字段查找、过滤功能

(1)search_fields属性

(2)list_filter属性

8.2.1.2 一对多表编辑功能

8.2.2 ModelAdmin方法

1. Save_mode()方法

2.get_ordering()方法

3.get_queryset()方法

4.message_user(request,level,message,extra_tags='',fail_silently=False)方法

8.2.3 ModelAdmin资产

资产主要指CSS,JS文件。ModelAdmin中的Media类可实现对指定CSS,JS的设置。

1.指定CSS文件进行设置

2.对指定JS文件进行设置

8.3 AdminSite模板

已经提供大量默认的界面显示模板,也可以对现有模板进行定制。

8.3.1使用Admin模板原理

模板位置:django\contrib\admin\templates\admin(Django安装位置在Python的安装路径Lib\site-packages\下)

不要直接修改模板。

1.重写模板的环境要求 配置相关目录

2.模板识别过程

8.3.2 定制Admin模板

8.3.1 

adminSite模板

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

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

相关文章

linux系统-----------搭建LNMP 架构

PHP(Hypertext Preprocessor 超文本预处理器)是通用服务器端脚本编程语言&#xff0c;主要用于web开发实现动态web页面&#xff0c;也是最早实现将脚本嵌入HTML源码文档中的服务器端脚本语言之一。同时&#xff0c;php还提供了一个命令行接口&#xff0c;因此&#xff0c;其也可…

能在手机上运行,仅仅0.5B大小的小语言模型MobiLlama

模型介绍 该模型基于LLaMA-7B架构设计&#xff0c;旨在能够在边缘设备上高效运行&#xff0c;无需将数据发送到远程服务器或云端处理。如智能手机、平板电脑、智能手表等。MobiLlama模型虽然体积小、对资源的需求低&#xff0c;但仍能提供高精度的语言理解和生成能力。项目还提…

java 通过 microsoft graph 调用outlook

废话不多说 一 官方文档 先看一下官方文档&#xff0c;https://learn.microsoft.com/zh-cn/graph/tutorials/java?contextoutlook%2Fcontext&tabsaad&tutorial-step1 其中的代码&#xff0c;可以通过地址下载&#xff1a;https://developer.microsoft.com/en-us/gra…

NutUI + taro +vue 开发遇到的问题 使用popup组件 内部元素滚动遇到的的问题

1 popup 弹出内容时 弹出的框内元素数据很长需要滚动时 本地可以正常滚动 打包成小程序后无法滚动 如这样的免责条款内容 代码如下 解决办法 1 把2处的单位换成百分比 弹框能滚动但是 是popup 里面所有的元素都一起滚动 导致标题都滚走了 2 scroll-y 改成&#xff1a; :scrol…

单片机05__串口USART通信__按键控制向上位机传输字符串

串口USART通信 通用UART介绍 1.通信的概念 计算机与外界进行信息交换的过程称之为通信。 在通信的过程中&#xff0c;通信双方都需要遵守的规则称之为通信协议。 硬件协议&#xff1a;将数据以什么样的方式传输过去 软件协议&#xff1a;将数据以什么样的顺序传输过去 2.常用…

Android 通知--判断通知是否有跳转

一. 从应用层来分析 在 Android 中&#xff0c;可以通过 PendingIntent 来实现有跳转的通知和没有跳转的通知的区别。具体来说&#xff0c;有跳转的通知会设置一个 PendingIntent&#xff0c;当用户点击通知时会触发该 PendingIntent&#xff0c;打开指定的界面或执行特…

C++ 高级面试题:解释 C++ 中的抽象基类和纯虚函数

解释 C 中的抽象基类和纯虚函数 在C中&#xff0c;抽象基类和纯虚函数是面向对象编程中的重要概念&#xff0c;用于实现多态性和接口规范。它们通常与继承和多态结合使用&#xff0c;以实现接口的统一定义和派生类的不同实现。 抽象基类&#xff08;Abstract Base Class&…

SpringBoot-集成Elasticsearch

依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version> </dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId…

微服务之qiankun主项目+子项目搭建

主项目使用history&#xff0c;子项目使用hash模式 1. 下载安装"qiankun": "^2.10.13"2. 手动调用qiankun,使用vue脚手架搭建的项目1. 主项目配置&#xff08;我使用的是手动调用乾坤&#xff0c;在指定页面显示内容&#xff09;1. 要使用的页面中引入乾坤…

MyBatis概述

三层架构 表现层&#xff1a;直接和前端交互&#xff0c;接受AJAX请求&#xff0c;返回json数据业务层&#xff1a;一是处理前端的请求&#xff0c;二是返回持久层获取的数据持久层(数据访问层)&#xff1a;直接操作数据库&#xff0c;完成CRUD&#xff0c;返回数据给业务层 …

李沐动手学习深度学习——3.2练习

以下是个人理解&#xff0c;希望进行讨论求解。 练习 1. 如果我们将权重初始化为零&#xff0c;会发生什么。算法仍然有效吗&#xff1f; 根据SGD算法公式如上&#xff0c;第一次迭代的值可知w只与b相关&#xff0c;而对于b的迭代更新&#xff0c;只是与b的初始值相关&#x…

docker中hyperf项目配置虚拟域名

在使用hyperf框架时&#xff0c;直接用了docker环境进行开发 下载镜像运行容器 docker run --name hyperf -v /data/project:/data/project -p 9501:9501 -itd -w /data/project --privileged -u root --entrypoint /bin/sh 镜像ID配置docker-compose.yml version: "3.…

也谈AIGC和ChatGPT的区别?

AIGC 和 ChatGPT 的区别 定义 AIGC (人工智能生成内容)&#xff1a;一种人工智能技术&#xff0c;用于生成类似人类的文本、图像、音频和视频等内容。ChatGPT&#xff1a;OpenAI 开发的大型语言模型&#xff0c;是 AIGC 的一种具体实现。 目的 AIGC&#xff1a;广泛用于内容…

亚马逊自养号测评:如何安全搭建环境,有效规避风险

要在亚马逊上进行自养号测评&#xff0c;构建一个真实的国外环境至关重要。这包括模拟国外的服务器、IP地址、浏览器环境&#xff0c;甚至支付方式&#xff0c;以创建一个完整的国际操作环境。这样的环境能让我们自由注册、养号并下单&#xff0c;确保所有操作均符合国际规范。…

Gin 框架简单上手

引言 Gin 是一个基于 Go 语言的 Web 框架&#xff0c;旨在提供高性能和高效的方式来构建 Web 应用程序。它简单易用&#xff0c;同时又提供了丰富的功能和灵活的扩展性。本文将带你深入学习 Gin 框架&#xff0c;从安装开始&#xff0c;逐步深入探索其各项功能&#xff0c;包括…

企业级指针仪表读数YOLOV8NANO

企业级指针仪表读数&#xff0c;采用YOLOV8NANO训练&#xff0c;检测表盘和表芯&#xff0c;得到PT模型&#xff0c;然后转换ONNX&#xff0c;让OPENCV调用。然后提取表芯区域&#xff0c;通过极坐标转换为直角坐标&#xff0c;再通过检测指针和刻度&#xff0c;换算成比例&…

Chapter 8 - 19. Congestion Management in TCP Storage Networks

Queue Depth Monitoring and Microburst Detection Queue depth monitoring and microburst detection capture the events that may cause congestion at a lower granularity but are unnoticed by other means due to long polling intervals. 队列深度监控和微爆检测可捕捉…

Ubuntu 安装 Android Studio

一. 步骤 通过以上步骤&#xff0c;可以在 Ubuntu 上成功安装 Android Studio&#xff0c;并开始进行 Android 应用程序的开发。 打开终端&#xff08;Terminal&#xff09;。 首先&#xff0c;确保你已经安装了 Java 开发工具包&#xff08;JDK&#xff09;。Android Studio …

notejs+nvm+angular+typescript.js环境 Hertzbeat 配置

D:\Program Files\nodejs\ D:\Users\Administrator\AppData\Roaming\nvm nvm命令提示 nvm arch&#xff1a;显示node是运行在32位还是64位。 nvm install <version> [arch] &#xff1a;安装node&#xff0c; version是特定版本也可以是最新稳定版本latest。 可选参…

前端-BOM和DOM的区别和用法

首先上图&#xff0c;这是整个JAVASCRIPTD 结构&#xff0c;因此我们可以得出一个关系等式 JavaScript ECMAscript BOM DOMECMAscript&#xff1a; 是一种由 ECMA国际&#xff08;前身为欧洲计算机制造商协会&#xff09;通过 ECMA-262 标准化的脚本程序设计语言&#xff0…