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

基于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

三英齐聚!理想汽车刚成功登陆IPO,小鹏也计划8月赴美上市理想汽车赴美上市的事情终于敲定了,7月30日晚间,理想汽车在纳斯达克正式挂牌上市,。证券代码为LI,成为继蔚来汽车,国内第二家成功赴美上市的造车新势力。在动荡的资本环境中,理想汽车美国阴谋浮出水面,台积电再遭重创台积电是全球半导体行业中知名度最高的芯片制造公司,台积电创始人张忠谋,从台湾省的一家小公司成长为世界级的民营芯片公司。很多人都非常佩服张忠谋在这方面的经营技巧和智慧。也因为他独特的没有隐私空间?安卓用户还可以这样隐藏手机里的秘密这几天我的手机经常会弹出提醒框,说我已经连续使用手机5个小时,提醒我放下手机休息休息,多的时候这个提示一天会弹出来两三次。不知道这个提醒功能是什么时候打开的,不过倒是无意中让我意识为何越来越多企业,都在用OKR?越来越多企业,正在拥抱OKR一场疫情,让每个人每天8小时的工作内容和方式发生了巨大的变化。这种变化背后,也在酝酿着管理的创新与变革。近两年有一个很流行的工作方法叫做OKR目标与关键移动游戏体验再升级!雷神星战十代酷睿新品震撼上市近日,雷神携手英特尔推出了一款全新旗舰级游戏笔记本电脑911星战3代。一直以来,雷神星战系列以其可媲美台式游戏电脑的硬核性能和高性价比的配置,深受游戏玩家欢迎。作为一款高颜值轻薄高任正非当年放弃吴亦凡选择胡歌是正确的选择任正非当年放弃吴亦凡选择胡歌是正确的选择华为表态吴亦凡都美竹事件当初放弃吴亦凡,选择胡歌代言是正确的选择。2016年,华为官宣聘用吴亦凡为荣耀代言人,他的粉丝们欣喜若狂,销售额也得这款无线游戏鼠标很PRO美商海盗船DARKCORERGBPROSE体验两年前我有幸用过美商海盗船的第一款Qi三模无线鼠标DARKCORERGBSE。这款鼠标在当年以其独特的Qi无线供电,和性能出色的2。4GHz无线,在市场上夺得一席之地。如今,更强的全链路10bit与10亿色彩的碰撞,色彩王者即将面世?相信最近很多数码爱好者们都被OPPO新机OPPOFindX3系列刷屏了,又是姜文又是10bit的,搞的OPPO好像要进军电影行业一样。那么这款将会在3月11日晚上,也就是今晚发布的三星再推高清屏幕?支持120Hz刷新,快速切换内容作为智能手机市场高端屏幕领域的领导者,三星显示也以其优异的产品性能受到众多手机厂商和终端消费者的青睐。三星显示器近日推出了一款用于高清游戏内容的新型OLED屏幕,该产品已被用于腾讯沃尔沃决定隐藏排气管,并逐步推广到更多电动汽车沃尔沃周一宣布,在其车型阵容的一系列样式和功能更新中,它在2021车型年的许多车型上都将排气嘴隐藏在后保险杠盖中。沃尔沃汽车全球设计总监罗宾佩奇(RobinPage)说暴露的排气管荣耀30Pro有货了,麒麟99050倍变焦无论手机是否值得购买,除了其配置参数外,品牌溢价,保值率和稀缺性也不能忽略。这款荣耀30pro在各个方面都很全面,也是配备麒麟的最后一代。荣耀旗舰机采用990芯片,因此销售节奏少了
旅行拍摄Vlog的最佳拍档?SMOOTH5这几个功能卖点真不错转眼间又到一年年末,在这个时间点,想必大家都还有没用完的年假,这个时候,叫上三两好友,在元旦或者过年期间,来上一场说走就走的旅行,应该是一个不错的选择。在旅途过程中,我们不免要用手中汽协电动乘用车共享换电站建设规范系列团体标准正式发布中新社北京12月22日电(记者闫晓虹)中国汽车工业协会(简称中汽协)22日披露,中国汽车工业协会(中国充电联盟)电动乘用车共享换电站建设规范系列团体标准正式发布,此举能更好地推动电如何通过语言提供的能力来防范Log4j之类的漏洞?功能能力安全(capabilitysafe)的语言(如Rust)可以最大限度地减少甚至防止Log4j漏洞发生。在本文中讨论围绕Log4j漏洞的两个问题它会对用户提供的字符串进行字符华为WatchD体验将血压计塞进手表,专业的健康监测能力终于看到了一款真正能独立测量血压的智能手表。对于高血压这个医学名词,很多人存在认知误区,认为它更多会发生在中老年人群身上,距离年轻人很远。其实事实并非如此,相关数据显示,过去30年LinuxC编程TCPIP协议基础以太网帧格式目的地址(6字节)源地址(6字节)类型(2字节)数据(461500字节)CRC(4字节)类型(0800)IP数据报(461500字节)类型(0806)ARP请求应答(2在开源开放中推动国产基础软件发展(创新谈)来源人民网以开源开放的形式来集聚力量,实现技术共建,往往要比各自为战的效果更好前不久,华为公司宣布,将欧拉操作系统的全量代码品牌商标社区基础设施等相关资产,捐赠给开放原子开源基金会高通中国区董事长孟樸获评哈佛商业评论中文版2021中国新增长先锋人物近日,知名商业管理杂志哈佛商业评论中文版公布中国新增长先锋人物榜等年度榜单。凭借在与中国企业一起共建全球生态方面的贡献,高通公司(Qualcomm)中国区董事长孟樸获评哈佛商业评论平均律新旗舰落地Tenet音箱交付1号用户paraworld发表于202112251537小白风扇给电子管降温不是说机器越热声音越好听吗?还是担心管子寿命?这个管子温度太高,尤其加了避震网,温度散不开,对寿命影响太大hoo力拼小米12,iQOO9将于1月5日正式发布120W快充更低价格作为国内主流手机厂商之一,vivo这两年的快速发展是大众有目共睹的,无论是手机销量与市场份额均有所提升,无独有偶,在近期多方媒体的不断曝光之下,又有一款vivo新机被基本确认,这款第23届高交会今开幕百度希壤与英伟合作共建AI元宇宙股融易资讯今日话题第23届高交会今开幕华为中兴等企业现场参展第二十三届高交会将在深圳会展中心(福田)和深圳国际会展中心(宝安)同时举办。线下展会12月2729日举办,线上展会12月最近出现的改变世界的算法这将改变医学。它将改变研究。它将改变生物工程。它将改变一切。艾拉阿尔德森6分钟阅读今年早些时候,一种算法被发布到网上完整且完全免费供学术界使用。这个算法代表了我们一生中最重要的科学