xadmin后台页面定制和添加服务器监控组件

Posted 懒企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xadmin后台页面定制和添加服务器监控组件相关的知识,希望对你有一定的参考价值。

xadmin定制

项目需要添加服务器监控页面,碍于xadmin不是很好自定义页面,之前写过插件,太麻烦了,还是直接改源码

原理其实很简单,因为xadmin的处理流程和django类似,都是通过拦截URL,然后封装数据,再在页面解析.
它的牛逼之处在于只利用几个模板html就可以处理几乎所有的后台操作,因为它映射的模块,方法等信息都拼接在url中,
它只需要知道url就知道用户要处理的模块以及操作(增删改查)
所以我们也可以利用这个特性来控制页面输出我们想要的内容.
思路:

  • 在views/base.py中添加控制(是否需要跳转,跳转的url)
  • 在templates/xadmin/base_site.html 中根据上一步传过来的值控制显示内容(用iframe)
  • 自己编写处理该url的页面和view.py,然后iframe中就会显示该页面

监控组件

我用的是pydash
github:https://github.com/k3oni/pydash

怎么把pydash移植到自己的项目呢?

因为我们的项目也是用的django,只需要把核心的几个文件复制到项目中,还是很简单的

主要的文件在上面截图中,还有css,js,font,img等根据需要添加

注意settings.py只需要把:

TIME_JS_REFRESH = 30000
TIME_JS_REFRESH_LONG = 120000
TIME_JS_REFRESH_NET = 2000

VERSION = "1.4.6"

添加到自己项目中的settings.py中即可

复制urls.py中部分到自己项目urls.py

                       url(r\'^main/$\', \'main.views.getall\', name=\'main\'),
                       url(r\'^info/uptime/$\', \'usage.views.uptime\', name=\'uptime\'),
                       url(r\'^info/memory/$\', \'usage.views.memusage\', name=\'memusage\'),
                       url(r\'^info/cpuusage/$\', \'usage.views.cpuusage\', name=\'cpuusage\'),
                       url(r\'^info/getdisk/$\', \'usage.views.getdisk\', name=\'getdisk\'),
                       url(r\'^info/getusers/$\', \'usage.views.getusers\', name=\'getusers\'),
                       url(r\'^info/getips/$\', \'usage.views.getips\', name=\'getips\'),
                       url(r\'^info/gettraffic/$\', \'usage.views.gettraffic\', name=\'gettraffic\'),
                       url(r\'^info/proc/$\', \'usage.views.getproc\', name=\'getproc\'),
                       url(r\'^info/getdiskio/$\', \'usage.views.getdiskio\', name=\'getdiskio\'),
                       url(r\'^info/loadaverage/$\', \'usage.views.loadaverage\', name=\'loadaverage\'),
                       url(r\'^info/platform/([\\w\\-\\.]+)/$\', \'usage.views.platform\', name=\'platform\'),
                       url(r\'^info/getcpus/([\\w\\-\\.]+)/$\', \'usage.views.getcpus\', name=\'getcpus\'),
                       url(r\'^info/getnetstat/$\', \'usage.views.getnetstat\', name=\'getnetstat\'))

pydash/main/views.py和pydash/usage/views.py中删除登录,登出功能,
删除所有方法上

@login_required(login_url=\'/login/\')

应为用户认证xadmin已经搞定了

以上是关于xadmin后台页面定制和添加服务器监控组件的主要内容,如果未能解决你的问题,请参考以下文章

自动化监控系统 搭建xadmin做网站后台

个人页面展示

xadmin 自定义模板

Django+xadmin打造在线教育平台

xadmin 插件

用java给html文件添加必要的控制html代码片