随着企业服务器数量越来越多,当到达几百台,上千台服务器之后,服务器资产管理也逐渐繁杂,每天如果通过人工统计检测会浪费大量的时间,而且有可能会有小小的疏忽而遗漏,那有没有什么开源的管理系统自动去管理呢,方法是必须滴有咯,我这里采用最简单的Django admin框架来实现。实现方法非常简单,这里做记录,希望跟大家一起交流。
Django开发简介:
这里采用Django MVC开发模型,简单来说MVC 是一种软件开发的方法,它把代码的定义和数据访问的方法(模型)与请求逻辑 (控制器)还有用户接口(视图)分开来。
在django里面,我们讲采用models.py 、views.py、urls.py以及html模板文件来实现这个需求。
Django安装部署:
Django的安装可以参考我的上一篇文章,这里直接创建工程和app名称。
1、创建asset工程:
1
|
django-admin.py startproject Asset
|
2、配置数据库:
编辑settings.py文件,修改存储方式为mysql,同时设置数据库名和密码,保存退出。如下图配置:
数据库信息配置完毕后,创建名为asset的数据库,并设置密码。
同时修改setings.py,找到APPS模块处,添加我们的工程名,Asset,如下图添加方法:
3、新建models.py文件:
采用models方式创建数据库表和字段,语句如下:
1
2
3
4
5
6
7
8
9
10
11
|
from
django.db
import
models
class
asset_system(models.Model):
ip_info
=
models.CharField(max_length
=
50
)
serv_info
=
models.CharField(max_length
=
50
)
cpu_info
=
models.CharField(max_length
=
50
)
disk_info
=
models.CharField(max_length
=
50
)
mem_info
=
models.CharField(max_length
=
50
)
load_info
=
models.CharField(max_length
=
50
)
mark_info
=
models.CharField(default
=
'beijing_idc'
,max_length
=
50
,blank
=
True
)
def
__unicode__(
self
):
return
self
.ip_info models.py
|
文件创建成功后,然后返回上一级目录(manage.py目录),执行:
1
|
python manage.py validate 返回为:0 errors found表示检查数据编写正确。
|
1
|
然后把数据写入到数据库中,执行命令:python manage.py syncdb
|
会提示输入用户名和邮箱和密码,这里的用户名和密码为访问django admin后台需要输入的用户名和密码。
4、修改settings.py和urls.py
分别修改如下:
把settings.py里面: 'django.contrib.admin',前面#号注释掉,同时注释掉'django.contrib.admindocs',前的#号即可,如下图:
把urls.py里面,将如下三行#号去掉即可:
1
2
3
|
from
django.contrib
import
admin
admin.autodiscover()
url(r
'^admin/'
,include(admin.site.urls)),
|
同时添加如下行,引用settings文件配置:
1
|
from
django.conf
import
settings
|
如下图:
Django Admin后台管理:
配置完毕后,登录后台管理系统,重启python app,然后访问报错404,报错的原因是由于没有添加/admin/二级目录访问,输入/admin/进入这个页面,代表django admin 配置成功。登录后截图如下:
默认没有我们创建的数据库表,那如何在界面显示呢?如下在工程应用目录(与models.py同级),新建一个admin.py文件,写入如下内容:
1
2
3
4
5
6
|
from
django.contrib
import
admin
from
asset.models
import
asset_system
class
serversadm(admin.ModelAdmin):
list_display
=
(
'ip_info'
,
'serv_info'
,
'cpu_info'
,
'disk_info'
,
'mem_info'
,
'load_info'
,
'mark_info'
)
search_fields
=
(
'ip_info'
,
'cpu_info'
)
admin.site.register(asset_system,serversadm)
|
配置完后,重启python,然后刷新一下页面,默认会出现403的提示“CSRF verification failed.Request aborted.”,我们需要把settings.py里面如下行临时先注释掉(跟跨越请求有关):
1
|
#'django.middleware.csrf.CsrfViewMiddleware',
|
然后刷新,会看到新添加的一个asset_system表,如下图:
然后往里面添加多条cpu、硬盘、内存信息即可(可以使用脚本导入数据库),为了更好的样式,我们可以安装插件django-admin-bootstrapped-1.6.8.tar.gz,安装方法很简单,解压python setup.py install即可。
然后在settings.py 里面找到:'django.contrib.admin'这一行,在这行之前加入如下语句:
1
2
|
'django_admin_bootstrapped.bootstrap3'
,
'django_admin_bootstrapped'
,
|
就引用了bootstrap样式,界面显示效果就比较美观,好的由于时间原因,博文就到此结束,后期会增加更多功能和界面。
附图二,后期可以把所有的功能整合到一个html页面里面,如下图所示:
本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1557846