安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

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

8月20日 碧落盟投稿
  Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin。py文件中进行控制。本文将主要介绍如何利用Admin后台实现监控页的定制,快来和小编一起学习一下吧
  我们使用Django的Admin二次定制一个图形化界面,首先我们把语言设置为中文简体。修改:settings。pyLANGUAGECODEzhhansTIMEZONEAsiaShanghai修改:apps。pyfromdjango。appsimportAppConfigclassMywebConfig(AppConfig):nameMyWebverbosename服务器参数收集
  接着我们来定义models。py数据库模型,定义基本的数据查询。fromdjango。dbimportmodelsfromdjango。utils。htmlimportformathtmlimportdatetimeSTATUSCHOICES((d,在用设备),(p,下线设备),(w,损坏设备),)定义主机基本信息表classHostInfoDB(models。Model):idmodels。AutoField(primarykeyTrue)HostAddrmodels。TextField(maxlength128,verbosename主机地址)HostAddrmodels。CharField(maxlength128,verbosename主机地址)HostNamemodels。CharField(maxlength128,verbosename主机名称)HostTypemodels。CharField(maxlength128,verbosename系统类型)HostPositionmodels。CharField(maxlength128,verbosename机房位置)HostPlatformmodels。CharField(maxlength128,verbosename所属平台)HostGroupmodels。CharField(maxlength128,verbosename分组)HostDataTimemodels。DateTimeField(verbosename检查日期)HostUsermodels。CharField(maxlength64,verbosename负责人)hostStatsmodels。CharField(maxlength1,choicesSTATUSCHOICES,verbosename设备状态)defstr(self):returnself。HostName用于给本表指定别名,这样前端就不是英文的了classMeta():verbosename设备清单verbosenameplural设备清单设备再用状态defStatus(self):ifself。hostStatsd:formattdformathtml(spanstylepadding:2backgroundcolor:color:white在用设备span)elifself。hostStatsp:formattdformathtml(spanstylepadding:2backgroundcolor:color:black下线设备span)elifself。hostStatsw:formattdformathtml(spanstylepadding:2backgroundcolor:color:white损坏设备span)returnformattdStatus。shortdescription当前状态指定Ping检测结果表classHostPingInfo(models。Model):idmodels。AutoField(primarykeyTrue)HostAddrmodels。CharField(maxlength128,verbosename主机地址)flagemodels。CharField(maxlength64)classMeta():verbosename存活检测verbosenameplural存活检测defStatus(self):ifself。flageTrue:ret已连接colorgreenreturnformathtml(spanstylecolor:{};{}span,color,ret,)elifself。flageFalse:ret未连接colorredreturnformathtml(spanstylecolor:{};{}span,color,ret,)Status。shortdescription状态定义CPU内存利用率数据表结构classHostCPUOrMemInfo(models。Model):idmodels。AutoField(primarykeyTrue)HostAddrmodels。CharField(maxlength128,verbosename主机地址)CpuCountmodels。IntegerField()MemCountmodels。IntegerField()classMeta():verbosenameCPU内存性能verbosenamepluralCPU内存性能defCpuSpeed(self):returnformathtml(progressmax100value{}progress,self。CpuCount)defMemSpeed(self):returnformathtml(progressmax100value{}progress,self。MemCount)defCheck(self):returnformathtml(查看,self。id)CpuSpeed。shortdescriptionCPU利用率MemSpeed。shortdescriptionMem利用率
  继续定制admin。py并与上方的数据库视图相交互。fromdjango。contribimportadminfromMyWeb。modelsimport必须继承ModelAdmin基类,才可以调整参数,HostDB则是你的表的名称admin。register(HostInfoDB)classMyAdmin(admin。ModelAdmin):admin。site。sitetitle后台管理admin。site。siteheader自动化监控平台listdisplay你需要展示的字段应该写在这里,此处是数据库中的字段listdisplay(HostAddr,HostName,HostType,HostPosition,HostDataTime,HostPlatform,HostGroup,HostUser,Status)searchfields用于添加一个搜索框,此处作为查询条件searchfields(HostAddr,HostType,Status,)listfilter设置一个过滤器,此处是过滤条件listfilter(HostAddr,HostGroup,)ordering设置一个排序条件,此处是以id作为排序依据ordering(id,)listperpage设置每页显示多少条记录,默认是100条listperpage10listeditable设置默认可编辑字段listeditable(HostName,)datehierarchy显示详细时间分层筛选datehierarchyHostDataTimereadonlyfields可以设置只读字段,就是无法修改的字段readonlyfields(hostCPU,hostMEM,)定义Ping检测显示字段admin。register(HostPingInfo)classMyAdmin(admin。ModelAdmin):listdisplay(HostAddr,flage,Status)定义内存CPU利用率字段admin。register(HostCPUOrMemInfo)classMyAdmin(admin。ModelAdmin):listdisplay(id,HostAddr,CpuCount,CpuSpeed,MemCount,MemSpeed,Check)
  保存后直接执行命令,完成命令行建表操作。pythonmanage。pymakemigrationspythonmanage。pymigratepythonmanage。pycreatesuperuser
  保存后启动,Django并访问http:127。0。0。1:8000admin登录后我们依次看一下定制效果。
  主页中的展示效果如下。
  当我们需要增加自定义动作时,可以这样写,我们以HostCPUOrMemInfo为例
  定义内存CPU利用率字段admin。register(HostCPUOrMemInfo)classMyAdmin(admin。ModelAdmin):listdisplay(id,HostAddr,CpuCount,CpuSpeed,MemCount,MemSpeed)添加的自定义动作,此处可执行操作deffunc(self,request,queryset):此处可以写一些执行动作print(self,request,queryset)func。shortdescription自定义active动作actions〔func,〕Action选项都是在页面上方显示actionsontopTrueAction选项都是在页面下方显示actionsonbottomFalse是否显示选择个数actionsselectioncounterTrue
  以上就是基于Django的Admin后台实现定制简单监控页的详细内容
  原文:https:www。jb51。netarticle231017。htm
投诉 评论 转载

国家发改委扩大有效需求努力保持工业基本盘稳定新华社北京7月15日电《中国证券报》15日刊发文章《国家发改委:扩大有效需求努力保持工业基本盘稳定》。文章称,7月14日,国家发改委相关部门负责人在上半年经济形势媒体吹风会上表……五战全胜!中国球员美网迎来突破,男单看到希望北京时间8月25日,2022年美国网球公开赛结束了资格赛阶段的比赛。在今日凌晨时段结束的比赛当中,我国出场的最后一位球员张之臻在男单资格赛当中,迎战ATP排名第180位的……欧洲女足锦标赛英格兰夺冠7月31日,英格兰队球员在颁奖仪式上庆祝。当日,在英国伦敦举行的欧洲女足锦标赛决赛中,英格兰队经过加时赛以2比1战胜德国队,夺得冠军。新华社路透7月31日,英……基于Django的Admin后台实现定制简单监控页Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin。py文件中进行控制。本文将主要介绍如何利用Admin后台……测空腹血糖啥都不能吃?错有些糖友,不仅血糖高,血压也高。医生说测空腹血糖啥都不能吃,索性药也不吃了,水也不喝了!这是错误的做法,测量空腹血糖如果口渴是可以少量喝水的,降压药也应该按时服用。但是食……CBA四消息!李月汝WNBA亮相时间确认,焦健透露男篮训练工北京时间5月24日,为了球迷能够了解更多CBA联赛,以及中国男篮的最新信息,笔者汇总了一些最新消息,和大家一起来分享一下。其一,李月汝进入芝加哥天空队大名单目前,中……让保姆吃剩饭被吐槽,陈浩民妻子回应月薪2万请她来不是享福的在整个娱乐行业,明星直播不再是新鲜事。如果你名次,至少有一半超过的明星艺术家有过现场直播和造成商品的行为、这是一种趋势,如刘建红、李国林、陈浩民、郝少文、潘长江等。这些过去的艺……微信又又又上新!你发现了吗?微信又又又有新功能了!分别是在手机端微信和微信3。7。5forWindows电脑版本这些新功能都有啥用途看完你就知道了手机端微信新增和谁一起……恭喜你从公司毕业京东的大规模裁员通知书用词引发员工不满京东在单方面解雇员工时使用了恭喜毕业的用词方式引起了争议。一位匿名网友自称是京东员工,最近在网上发布了京东人力资源部一位官员的解雇通知。这位网友晒出的照片上写着:毕业快乐……甘肃文旅多点开花生动诠释黄河之滨也很美玛曲天下黄河第一弯。(省文旅厅供图)新甘肃客户端3月21日讯(新甘肃每日甘肃网记者李杨通讯员吴永斌)打造黄河文化五个高地、打造一批黄河流域文物保护展示新地标、组织创排《八……杀鸡儆猴!奥巴梅杨离队内幕曝光,阿尔特塔果断决定,重拾军心2022年冬季球员转会窗,英超阿森纳出其不意地将队长奥巴梅杨送给了西甲巴塞罗那,阿森纳当时的这一个举动让世人难以理解,毕竟队内另一名前锋拉卡泽特已经铁定不会续约,再送走奥巴梅杨……人生若如初见未播先火,预约数超230万,7月开播或成最大爆款有一些电视剧,往往还没正式开播,就已经让粉丝和观众们期待不已,关注度爆表,可谓是未播先火!就比如由赵丽颖主演的《幸福到万家》开播的时间是在6。29,但在官宣定档后,这部剧……
华为手机NFC功能,教你一键复制各种卡新华全媒秦岭和谐共生的金秋画卷邵发富悠悠珠龙河智库声音浅析自主深度学习如何在无人作战装备中发挥作用在人民医院生孩子好还是专门的妇幼保健院好?二胎宝妈说了大实话谷智鑫的消失,是影视圈的悲哀与损失正式离队!冠军成员告别广东宏远朱芳雨不留情面早期霸王大陆盘点及早期骑士经历回顾广东80后美女,靠卖蚊香9个月狂揽近10亿元,上市一天跌去1红土地上看今朝桃李春风一杯酒,江湖夜雨十年灯韩媒批港队比想象中弱!主教练反轰对方不懂球,难道想我们赢吗?辽粤大战前,周鹏罕见摊牌!杜峰遭遇麻烦银杏即景可知造句用可知造句大全家乡趣事小学作文300字新怎么降温教会孩子踩着失败的阶梯,不断向前肉眼为什么可以看到星星都是几千几万年前的假象疫情逆行者小学作文三篇父母不得不教会孩子的三种生活技能不锈钢螺栓耐酸雨吗南京失联女生遇害案4人被批捕信用卡逾期利息规则有变动?监管变严格,部分权限下放至银行儿童沙眼能用眼药水吗

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利