38. Django 2.1.7 Admin - 注册模型、自定义显示列表字段

2024-08-21 03:38

本文主要是介绍38. Django 2.1.7 Admin - 注册模型、自定义显示列表字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考文献

  • https://docs.djangoproject.com/zh-hans/2.1/intro/tutorial07/

  • https://docs.djangoproject.com/zh-hans/2.1/topics/i18n/timezones/

  • https://docs.djangoproject.com/zh-hans/2.1/topics/i18n/translation/#how-to-create-language-files

Admin站点

内容发布的部分由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块。

使用Django的管理模块,需要按照如下步骤操作:

1.管理界面本地化 2.创建管理员 3.注册模型类 4.自定义管理页面

1.管理界面本地化

本地化是将显示的语言、时间等使用本地的习惯,这里的本地化就是进行中国化,中国大陆地区使用简体中文,时区使用亚洲/上海时区,注意这里不使用北京时区表示。

打开mysite/settings.py文件,找到语言编码、时区的设置项,将内容改为如下:

LANGUAGE_CODE = 'zh-hans' #使用中国语言
TIME_ZONE = 'Asia/Shanghai' #使用中国上海时间

2.创建管理员

创建管理员的命令如下,按提示输入用户名、邮箱、密码。

python3 manage.py createsuperuser

接下来启动服务器。

python3 manage.py runserver

打开浏览器,在地址栏中输入如下地址后回车。http://127.0.0.1:8000/admin/

输入前面创建的用户名、密码完成登录。

3.注册模型类

登录后台管理后,默认没有我们创建的应用中定义的模型类,需要在自己应用中的admin.py文件中注册,才可以在后台管理中看到,并进行增删改查操作。

打开assetinfo/admin.py文件,编写如下代码:

from django.contrib import admin# Register your models here.
from .models import ServerInfo,MiddlewareInfo,ScriptInfoadmin.site.register(ServerInfo)
admin.site.register(MiddlewareInfo)
admin.site.register(ScriptInfo)

到浏览器中刷新页面,可以看到模型类的管理了。

点击类名称"ServerInfo"可以进入列表页,默认只有一列。

在列表页中点击"增加"可以进入增加页,Django会根据模型类的不同,生成不同的表单控件,按提示填写表单内容后点击"保存",完成数据创建,创建成功后返回列表页。

在列表页中点击某行的第一列可以进入修改页。

按照提示进行内容的修改,修改成功后进入列表页。在修改页点击“删除”可以删除一项。

删除:在列表页勾选想要删除的复选框,可以删除多项。

4.自定义管理页面

在列表页只显示出了ServerInfo object,对象的其它属性并没有列出来,查看非常不方便。Django提供了自定义管理页面的功能,比如列表页要显示哪些值。

打开assetinfo/admin.py文件,自定义类,继承自admin.ModelAdmin类。

  • 属性list_display表示要显示哪些属性

class ServerInfoAdmin(admin.ModelAdmin):list_display = ['id', 'server_hostname', 'server_intranet_ip','server_internet_ip','server_shelves_date','update_time']
  • 修改模型类ServerInfo的注册代码如下

admin.site.register(ServerInfo, ServerInfoAdmin)
  • 刷新ServerInfo的列表页,所有属性都显示出来了

  • 最终assetinfo/admin.py文件代码如下

from django.contrib import admin
from .models import ServerInfo,MiddlewareInfo,ScriptInfoclass ServerInfoAdmin(admin.ModelAdmin):list_display = ['id', 'server_hostname', 'server_intranet_ip','server_internet_ip','server_shelves_date','update_time']admin.site.register(ServerInfo, ServerInfoAdmin)
admin.site.register(MiddlewareInfo)
admin.site.register(ScriptInfo)

5.使用修饰器注册模型类

上面注册模型类的方式如下:

admin.site.register(ServerInfo, ServerInfoAdmin)

除了这种方式,还可以使用修饰器,如下:

@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):pass

完整admin.py代码如下:

from django.contrib import admin
from .models import ServerInfo,MiddlewareInfo,ScriptInfo@admin.register(ServerInfo)
class ServerInfoAdmin(admin.ModelAdmin):list_display = ['id', 'server_hostname', 'server_intranet_ip','server_internet_ip','server_shelves_date','update_time']admin.site.register(MiddlewareInfo)
admin.site.register(ScriptInfo)

这篇关于38. Django 2.1.7 Admin - 注册模型、自定义显示列表字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092020

相关文章

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

SpringBoot AspectJ切面配合自定义注解实现权限校验的示例详解

《SpringBootAspectJ切面配合自定义注解实现权限校验的示例详解》本文章介绍了如何通过创建自定义的权限校验注解,配合AspectJ切面拦截注解实现权限校验,本文结合实例代码给大家介绍的非... 目录1. 创建权限校验注解2. 创建ASPectJ切面拦截注解校验权限3. 用法示例A. 参考文章本文

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

聊聊springboot中如何自定义消息转换器

《聊聊springboot中如何自定义消息转换器》SpringBoot通过HttpMessageConverter处理HTTP数据转换,支持多种媒体类型,接下来通过本文给大家介绍springboot中... 目录核心接口springboot默认提供的转换器如何自定义消息转换器Spring Boot 中的消息

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创