范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

基于Django的Admin后台实现定制简单监控页

  Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin.py文件中进行控制。本文将主要介绍如何利用Admin后台实现监控页的定制,快来和小编一起学习一下吧
  我们使用Django的Admin二次定制一个图形化界面,首先我们把语言设置为中文简体.修改: settings.py LANGUAGE_CODE = "zh-hans" TIME_ZONE = "Asia/Shanghai" 修改: apps.py from django.apps import AppConfig class MywebConfig(AppConfig): name = "MyWeb" verbose_name = "服务器参数收集"
  接着我们来定义models.py数据库模型,定义基本的数据查询.from django.db import models from django.utils.html import format_html import datetime STATUS_CHOICES = (("d", "在用设备"), ("p", "下线设备"), ("w", "损坏设备"),) # 定义主机基本信息表 class HostInfoDB(models.Model): id = models.AutoField(primary_key=True) # HostAddr = models.TextField(max_length=128,verbose_name="主机地址") HostAddr = models.CharField(max_length=128, verbose_name="主机地址") HostName = models.CharField(max_length=128, verbose_name="主机名称") HostType = models.CharField(max_length=128, verbose_name="系统类型") HostPosition = models.CharField(max_length=128, verbose_name="机房位置") HostPlatform = models.CharField(max_length=128, verbose_name="所属平台") HostGroup = models.CharField(max_length=128, verbose_name="分组") HostDataTime = models.DateTimeField(verbose_name="检查日期") HostUser = models.CharField(max_length=64, verbose_name="负责人") hostStats = models.CharField(max_length=1, choices=STATUS_CHOICES, verbose_name="设备状态") def __str__(self): return self.HostName # 用于给本表指定别名,这样前端就不是英文的了 class Meta(): verbose_name = "设备清单" verbose_name_plural = "设备清单" # 设备再用状态 def Status(self): if self.hostStats == "d": format_td = format_html("在用设备") elif self.hostStats == "p": format_td = format_html("下线设备") elif self.hostStats == "w": format_td = format_html("损坏设备") return format_td Status.short_description = "当前状态" # 指定Ping检测结果表 class HostPingInfo(models.Model): id = models.AutoField(primary_key=True) HostAddr = models.CharField(max_length=128, verbose_name="主机地址") flage = models.CharField(max_length=64) class Meta(): verbose_name = "存活检测" verbose_name_plural = "存活检测" def Status(self): if self.flage == "True": ret = "已连接" color = "green" return format_html("{}",color,ret,) elif self.flage == "False": ret = "未连接" color = "red" return format_html("{}", color, ret,) Status.short_description = "状态" # 定义CPU/内存利用率数据表结构 class HostCPUOrMemInfo(models.Model): id = models.AutoField(primary_key=True) HostAddr = models.CharField(max_length=128, verbose_name="主机地址") Cpu_Count = models.IntegerField() Mem_Count = models.IntegerField() class Meta(): verbose_name = "CPU内存性能" verbose_name_plural = "CPU内存性能" def Cpu_Speed(self): return format_html("",self.Cpu_Count) def Mem_Speed(self): return format_html("",self.Mem_Count) def Check(self): return format_html("查看",self.id) Cpu_Speed.short_description = "CPU利用率" Mem_Speed.short_description = "Mem利用率"
  继续定制admin.py并与上方的数据库视图相交互.from django.contrib import admin from MyWeb.models import * # 必须继承ModelAdmin基类,才可以调整参数,HostDB则是你的表的名称 @admin.register(HostInfoDB) class MyAdmin(admin.ModelAdmin): admin.site.site_title="后台管理" admin.site.site_header = "自动化监控平台" # list_display = 你需要展示的字段应该写在这里,此处是数据库中的字段 list_display = ("HostAddr","HostName","HostType","HostPosition","HostDataTime","HostPlatform","HostGroup","HostUser","Status") # search_fields = 用于添加一个搜索框,此处作为查询条件 #search_fields = ("HostAddr","HostType","Status",) # list_filter = 设置一个过滤器,此处是过滤条件 list_filter = ("HostAddr","HostGroup",) # ordering = 设置一个排序条件,此处是以id作为排序依据 ordering = ("id",) #list_per_page = 设置每页显示多少条记录,默认是100条 list_per_page = 10 #list_editable = 设置默认可编辑字段 #list_editable = ("HostName",) # date_hierarchy = 显示详细时间分层筛选 date_hierarchy = "HostDataTime" # readonly_fields = 可以设置只读字段,就是无法修改的字段 #readonly_fields = ("hostCPU","hostMEM",) # 定义Ping检测显示字段 @admin.register(HostPingInfo) class MyAdmin(admin.ModelAdmin): list_display = ("HostAddr","flage","Status") # 定义内存CPU利用率字段 @admin.register(HostCPUOrMemInfo) class MyAdmin(admin.ModelAdmin): list_display = ("id","HostAddr","Cpu_Count","Cpu_Speed","Mem_Count","Mem_Speed","Check")
  保存后直接执行命令,完成命令行建表操作.python manage.py makemigrations python manage.py migrate python manage.py createsuperuser
  保存后启动,Django并访问http://127.0.0.1:8000/admin登录后我们依次看一下定制效果.
  主页中的展示效果如下.
  当我们需要增加自定义动作时,可以这样写,我们以HostCPUOrMemInfo为例
  # 定义内存CPU利用率字段 @admin.register(HostCPUOrMemInfo) class MyAdmin(admin.ModelAdmin): list_display = ("id","HostAddr","Cpu_Count","Cpu_Speed","Mem_Count","Mem_Speed") # 添加的自定义动作,此处可执行操作 def func(self, request, queryset): # 此处可以写一些执行动作 print(self, request, queryset) func.short_description = "自定义active动作" actions = [func, ] # Action选项都是在页面上方显示 actions_on_top = True # Action选项都是在页面下方显示 actions_on_bottom = False # 是否显示选择个数 actions_selection_counter = True
  以上就是基于Django的Admin后台实现定制简单监控页的详细内容
  原文:https://www.jb51.net/article/231017.htm

今日油价消息为何油价一直降不下去,问题出在国外今天是2022年10月20日星期四,油价市场在逐步收缩油价上涨幅度,截止今日第8个工作日,油价从原来的300多元吨缩小到180元吨,让油价上涨的速度变慢了许多,虽然下降的幅度不大,成交量不会骗人,读懂成交量,就等于读懂整个市场初入股市的股民要调整好自己的心态,保持自信的状态,打破不可能做到的壁垒。人的潜力是无穷的,没有人做不到,只有你想不想做到如果你自己给自己打上一个我做不到的标签,那么你必然无法达到这美国利用美元霸权收割全球,日元的遭遇就是缩影美国东部时间2022年10月18日,美国财政部公布了2022年8月的国际资本流动报告(TIC)。报告中值得注意的是,日本8月所持美国国债环比减少345亿美元,持仓降至约1。2万亿美美国航天局公布天体景象创生之柱新图像当地时间10月19日,美国国家航空航天局(NASA)宣布詹姆斯韦伯太空望远镜捕捉到了圆柱形星际气体和尘埃构成的天体景象创生之柱的详细图像。据悉,创生之柱位于距地球约6500光年的鹰被誉为美国人的怀孕圣经,准爸爸准妈妈必看的一本书刚开始备孕或者已经成功怀上成为准爸爸准妈妈的你是否经常有许多问题,去网上找答案却是众说纷纭?不妨看看这本书它曾经蝉联纽约时报畅销书排行榜600余周,被誉为美国人的怀孕圣经,美国有9詹姆斯韦伯望远镜捕捉到令人惊叹的创生之柱新图像据BGR报道,詹姆斯韦伯太空望远镜终于捕捉到了创生之柱的图像,这是天文学中最具代表性的目标之一。创生之柱(PillarsofCreation)因其巨大的规模而得名,是老鹰星云的一个英媒实施对华芯片禁令,美国像是恍然发现新的多极世界后惶恐应对来源环球时报英国UnHerd网站10月18日文章,原题美国企图制裁中国但未能得逞美国最近开始严格限制向中国出口先进半导体。乍一看,美国实施此类出口禁令似乎很奇怪。首先,中国是美国第今日油价消息为何油价一直降不下去,问题出在国外今天是2022年10月20日星期四,油价市场在逐步收缩油价上涨幅度,截止今日第8个工作日,油价从原来的300多元吨缩小到180元吨,让油价上涨的速度变慢了许多,虽然下降的幅度不大,成交量不会骗人,读懂成交量,就等于读懂整个市场初入股市的股民要调整好自己的心态,保持自信的状态,打破不可能做到的壁垒。人的潜力是无穷的,没有人做不到,只有你想不想做到如果你自己给自己打上一个我做不到的标签,那么你必然无法达到这美国利用美元霸权收割全球,日元的遭遇就是缩影美国东部时间2022年10月18日,美国财政部公布了2022年8月的国际资本流动报告(TIC)。报告中值得注意的是,日本8月所持美国国债环比减少345亿美元,持仓降至约1。2万亿美美国航天局公布天体景象创生之柱新图像当地时间10月19日,美国国家航空航天局(NASA)宣布詹姆斯韦伯太空望远镜捕捉到了圆柱形星际气体和尘埃构成的天体景象创生之柱的详细图像。据悉,创生之柱位于距地球约6500光年的鹰
古丁天花顶野生杜鹃盛开天花顶杜鹃花盛开,美不胜收。受访者供图日前,高州市古丁镇天花顶野生杜鹃花争相绽放,漫山遍野,十分壮观,吸引不少游客前去赏花。天花顶坐落于古丁镇东北部的黄沙方旦大冲三条村,海拔750西部长青徒步一日游五一因为疫情严重,原本打算回老家的安排取消了,周围省市都有疫情也不能出远门,跟着群主糖哥到西部长青附近的两个小山村荷莲峪和梁庄来一个一日山间徒步游。坐上通往西部长青的旅游专线公交,正是出游好时节,开着小逸去兜风春去夏来在这个春夏交替的季节是最适合开着自己的爱车去自驾游的,毕竟在我们北方这个时候天气会保持在15到30度之间,而这个温度是最适合我们的,当然了温度合适人精神头就充沛,人的精力充汽车长期停放不开,汽车修理工教你如何保养咱们现在生活水平越来越高了,所以说很多人喜欢去外面旅游,一旅游呢旅游个10天半个月的,那家里的车,可怎么办,或者说是去外地出差,出差的,几天还好,如果是您出差个一年半载的,您有没有亚洲最大的景观步行街,旺季时常人从众,却很少有游客给差评不知道你们发现没有,几乎每座城市都有一个号称为步行街的地方。比如北京的王府井上海的南京路成都的宽窄巷子重庆的解放碑等,每个城市几乎都有一个标志性的商业街,它们也逐渐的演变成了城市的陕西推动文旅资源活起来新华网西安4月30日电(记者张斌)陕西省文化和旅游厅唐华北斗数据中心海南国际文化艺术品交易中心近日在西安签署战略合作协议,旨在进一步推动文化旅游资源数字化发展,让文旅资源活起来。据SpringBootVueWebsocket实现服务器端向客户端主动发送消息概述本文通过一个实际的场景来介绍在前后端分离的项目中通过WebSocket来实现服务器端主动向客户端发送消息的应用。主要内容如下WebSocket是什么服务器端向客户端主动发送消息iPhoneSE3我骗了所有人iPhoneSE3发布之前口碑有多好,发布之后销量就有多差。这台最便宜5GiPhone被预估的销量一度达到2500万3000万台,然而发布不到一个月,供应链上就传出消息,iPhon打版权牌,拯救不了长视频如果用一个词,描述长视频头部平台爱优腾们此刻的心态,中年焦虑四个字,可能是最好的注脚。首先,数据显示,三家平台在过去十年中已经烧掉了千亿以上资金,但目前为止依然看不到盈利预期。其次指南关于申请新西兰工作签,你必须知道的(上)前面的文章中我们说过新西兰工作签证可以分为以下3种配偶工作签证留学生毕业工作签证技能工作签证今天小签儿给大家说说关于申请这些签证的重要事项。一配偶工作签证图片来自网络1。为了成功拿宝贵的财富,来源父母的爱我们出前,我们的母并不像现在这般趣,他们也曾天真浪漫过,只是我们的出生,让他们变成忙碌,是因为我们的到来开销变大了。学语到蹒跚学步,再到学读书,初涉,甚至是成年到成家立业,母的目光