实战二:Django2.2之CMDB资产管理系统

阅读: 27715


全新升级!

项目基于Django2.2Adminlet-2.4.10、Python3.7、Pycharm2018、windows10

2019年4月重磅更新!同时推出相应的视频教程!


一、概述

其实,一开始写这个实战项目,我是拒绝的,因为复杂,因为很多内容其实和Django无关,因为要考虑的问题太多。可是,如果不写一个有点含金量、贴近运维实际的项目,那么教程又流于形式,与一些不痛不痒的文章没什么区别。

说明:本项目不是一个完整的CMDB系统,主要针对其最重要的资产管理系统。

本实战项目主要是给大家提供一个基本思路和大致解决方案,而不是让你抄了代码就直接上线的。这里不考虑特别细的细节,也无法实现所有的业务逻辑,更不能作为考核的对象,所以请不要纠结这个地方应该是这样,那个地方不应该是那样的问题,而是关注原来CMDB是这么回事,可以通过哪种技术途径实现,大概要什么样的技术这些问题,主要的代码片段是哪些。

整个项目最麻烦的就是数据的规格性、合法性、完整性和数据类型的验证。不同的环境生成不同的数据,为了保证程序的健壮性,必须进行一系列的逻辑判断,这些都需要根据实际情况实际解决。作为一个教程的实战项目,不可能考虑得面面俱到,并且覆盖所有情况。这里我默认客户端发送过来的数据是规整的,数据类型是正确的

重要说明:

  1. 默认你已经有了一定的Python和Django基础,否则请学习网站的相关部分内容;
  2. 默认你具有一定的Linux操作系统基础,最好是运维人员;

本项目的所有代码可以从Github上下载,地址为:

https://github.com/feixuelove1009/CMDB

在Linux下直接使用:

git clone https://github.com/feixuelove1009/CMDB

在Windows下,通过Pycharm就可下载,当然也可以使用git软件下载。

二、项目展示

仪表盘:

image

折叠状态的仪表盘:

image

资产总表:

image

侧边栏缩放的资产总表:

image

资产详细表一:

image

资产详细表二:

image

项目的前端使用的是开源的AdminLTE 2.4.10模板,不仅美观大方,而且基于Bootstrap的特性,对移动设备和小屏端有很好的支持。



评论总数: 5



user_image

为什么我再ubuntu中把您的程序下载下来后按着步骤操作,最后访问网页的时候显示File "/home/mingyuegx/Desktop/liujiangblog_project_2/assets/views.py", line 23, in dashboard up_rate = round(upline/total*100) ZeroDivisionError: division by zero



user_image

问题解决了,是我自己没有新建数据,多以不能显示。再次谢谢作者的教程,对我的帮助很大。



user_image

感觉这个实例有点复杂。



user_image

建立一个有用户账号管理的CMDB系统。楼主能否给一个推荐的项目目录结构啊?



user_image

有又更新了!