城市直播房产教育博客汽车
快传网
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

基于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,但在官宣定档后,这部剧……
英雄联盟LPL季后赛V5战队31战胜JDG晋级败者组决赛山雨欲来风满楼,对于中国而言挑战与机会共存,维持可控就有收益建议中老年人,天热多吃碱性食物,尤其是这5种,营养美味又降火关沟寻古(1)居庸关客厅装修电视尺寸多少才合适黄金大幅降价中国黄金(2022年02月25日)最新黄金金价表为什么不建议早饭吃大米粥?除了大米粥,这3物可能也得少吃数智导览大屏,你的智能导游vivoX90进入16G1TB时代,继续支持天玑芯片定价感人同样是嫁给侯勇,为何沈蓉和潘雨辰下场惨淡,王瑞却春风得意?全国仅第61名!奥运冠军光速陨落泯然众人,网友只顾捞金赚钱中国电信发力5G安全体系创新,为用户筑牢安全堤坝
猫咪罐头分类如何教孩子克服胆怯马丁沃尔夫:债权国离不开债务国?大物竿买多长比较合适时间和未来玉米花是怎么做成的三星账户添加一种深久的不安。乔叶年轻人闯世界不能丢掉的七原则小马拜师小学生作文350字我国四大佛山(中国四大佛山)快乐的童年作文

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁