python 10min系列之实现增删改查系统
woniu-cmdb
奇技淫巧--写配置文件生成增删改查系统
视频教程
项目主页跪求github给个star,
线上demo,此页面都是一个配置文件自动生成的
详细的文章介绍和实现原理分析会发布在我的博客,敬请期待
运维人员都不喜欢搞CMDB,因为有很多前端的内容,但CMDB却在运维圈占有重要的地位,开发CMDB就是各种增删改查,之后我有个想法,做一个写配置文件就自动生成页面的CMDB, 请支持我的woniu-cmdb,喜欢请star
写好配置文件,自从生成页增删改查面不是梦
此项目不仅限于cmdb,各种管理系统,都可以用此项目配置,改成学生老师啥的,就变成了学校内部的mis系统,我会一直维护这个项目,大家有新需求请提issue
效果图(我们只写左边的配置,右边的是自动生成的)

简单配置,生成页面
命令只有两个
python woniu-build.py init # 初始化数据库+根据配置生成文件
python woniu-build.py 仅根绝配置生成文件
使用指南
- 下载该项目到本地
- config.py是我们唯一要修改的文件
- 修改config.py里的db_config变量,配置数据库的host,用户名,密码和要操作的数据库
db_config = {
'host':'localhost',
'user':'root',
'passwd':"",
'db':'cmdb'
}
- 修改config.py的page_config变量,此变量是设置具体的页面变量,先做一个简单的配置
page_config = {
# menu是一个list,包含所有的页面信息
"menu":[{
//页面的名字,和数据库表一致
"name": 'user',
// 显示的页面标题
"title": '用户管理',
# 页面里具体的字段,如果有两个字段,配置两个即可,包含name和title
"data": [{
"name": 'username',
"title": '用户名'
},{
"name":'password',
"title":'密码'
}]
}}]
}
- 执行 python woniu-build.py 处理文件,启动flask_web.py,浏览器访问http://localhost:9092/
- 默认有一个用户,账号和密码都是51reboot
字段详解
- page_config配置
menu:下面具体介绍,页面具体的字段
favicon:页面标签的小logo 默认用reboot的
title:页面标签的标题,默认是woniu-cmdb
brand_name:项目左上角显示文字,默认是woniu-cmdb
- menu配置详解
{
name:名字和数据库表名一直
titile:中文
modal_detail:是否用模态窗展示详情(有隐藏字段没展示)
具体字段数据
data:[
{
name:
title:
type:类型,默认input text
value:select直接从value里渲染,不发ajax和preload,如果没有type,就是input里的value属性
select_type:获取数据的action_type的值,和对应的name字段一致
toname:preload数据里,完成id到name得转换显示,select默认true
hide:默认false,true的话隐藏此字段
option_val list的显示字段 默认id
option_name list的显示字段 默认name
}
]
}
todolist:
- 登录权限+页面权限
- 更丰富的前端组件,现在只支持输入,日期和下啦框
- 大家有需求请提issues 我会持续维护这个项目,
依赖
本项目python依赖flask和mysqldb模块,直接pip安装一下即可
运维开发交流QQ群:238757010
运维开发交流QQ群:238757010
欢迎大家关注公共号,高品质运维开发
python 10min系列之实现增删改查系统的更多相关文章
- python学习之-成员信息增删改查
python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...
- python manage.py shell 的增删改查
python manage.py shell 的增删改查 guoguo-MacBook-Pro:myblog guoguo$ python manage.py shell Python 3.5.1 ( ...
- C# 数据操作系列 - 15 SqlSugar 增删改查详解
0. 前言 继上一篇,以及上上篇,我们对SqlSugar有了一个大概的认识,但是这并不完美,因为那些都是理论知识,无法描述我们工程开发中实际情况.而这一篇,将带领小伙伴们一起试着写一个能在工程中使用的 ...
- 记一些Python(Pymysql)建表、增删改查等基础操作(小白适用)
1.读取sql文件创建数据表 有一个形如下图的sql文件,使用python读取文件并在数据库中创建所有的表. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道 ...
- 微软Connect教程系列--自动生成增删改查页面工具介绍(二)
本章课程描述了vs2015的三个特点,其中主要将描述在vs2015下面,使用命令自动生成增删改查界面,具体如下: 1.web.config文件不在存在,用config.json替代,以适应支撑vs的插 ...
- .Net程序员学用Oracle系列(12):增删改查
1.插入语句 1.1.INSERT 1.2.INSERT ALL 2.删除语句 2.1.DELETE 2.2.TRUNCATE 3.更新语句 3.1.UPDATE 3.2.带子查询的 UPDATE 3 ...
- Python之实例对象的增删改查
#实例对象的增删改查p1 = ChinesePeople('wangyue')#print (p1.__dict__) #查看实例对象的属性#print (p1.name)(p1.play_ball( ...
- Python文件操作-文件的增删改查
需求:对文件进行增删改查 由于时间原因,本次代码没有增加任何注释,如有疑问,请联系编辑者:闫龙 其实我也是醉了,看着这些个代码,我脑袋也特么大了,没办法,大神说了,不让用新知识,只可以使用学过的,所以 ...
- [ python ] 项目:haproxy配置文件增删改查
1. 开发要求 实现对 haproxy.cfg 增删改查操作 2. 程序介绍 # 作者:hkey # 博客地址:https://www.cnblogs.com/hukey/p/9288279.html ...
随机推荐
- android 屏幕适配问题【转】
如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情. 首先:你需要在AndroidManifest.xml文件的<m ...
- 我的小前端 (2)—— JQ和zepto
没有什么特别新技术,就是记录我做移动端遇到的问题 2016-02-16 关于JS库 JQ很简单,网上很多插件效果都依赖它,但JQ库很大 zepto.js用简单效果,很好用 <script src ...
- Jar包下载地址
Download Apache log4j 1.2.17下载: http://logging.apache.org/log4j/1.2/download.html jsoup http://jsoup ...
- 在查询用户的权限的时候 使用左外连接 和 access数据库中左外连接
一般做视图最好是做成左外连接的.而其作用尤其在我们查询用户当前的权限时尤为明显,我们将 权限表即模块表放→角色权限表→角色表→用户角色表→用户表 就这样left outer join 连接起来,这样就 ...
- input 属性
1.readonly="readonly" 用来表示 input只能读写.
- 去掉xcode编译warning:ld: warning: directory not found for option '
tyle="margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial; text-align:left ...
- wampserver 绑定域名(wampserver 本地域名测试配置)
一.tomact 配置虚拟主机 1.打开Apache菜单下“httpd.conf”文件: 找到“# Include conf/extra/httpd-vhosts.conf” , 把这句前面的#号去掉 ...
- querySelector $() getElementBy区别
参考 http://stackoverflow.com/questions/14377590/queryselector-and-queryselectorall-vs-getelementsbycl ...
- oracle查询字符集语句
(1)查看字符集(三条都是等价的) 复制代码 代码如下: select * from v$nls_parameters where parameter='NLS_CHARACTERSET'sel ...
- Linux同平台Oracle数据库整体物理迁移
Linux同平台数据库整体物理迁移需求:A机器不再使用,要将A机器的Oracle迁移到B机器.之前写过类似需求的文章: http://www.linuxidc.com/Linux/2015-05/11 ...