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 ...
随机推荐
- Ext.Net 使用总结之GridPanel的删除事件
1.关于Ext.net中GridPanel的删除事件 首先是GridPanel,如下: <ext:GridPanel ID="GridPanel1" runat=" ...
- vs 2005 在IE下断点不起作用
vs2005 加断点调试,ie下不起作用. 1. 点击[开始]->[运行] 命令:regedit. 2. 定位到HKEY_LOCALMACHINE -> SOFTWARE -> Mi ...
- Visual Studio之Nuget
一.NuGet是什么? NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通 ...
- hibernate sql查询后对象转换成实体类
在多表查询的时候使用hibernate的sql查询的时候,一般返回的是object[]数组,或者可以使用 session.createSQLQuery(sql).setResultTransform ...
- 共享bean
到此为止,对于jsp:useBean创建的对象,我们都将它们看作是_jspService方法中的局部变量来处理(jspService由页面生成的servlet的service方法调用).虽然bean的 ...
- STL模板_智能指针概念
一.智能指针1.类类型对象,在其内部封装了一个普通指针.当智能指针对象因离开作用域而被析构时,其析构函数被执行,通过其内部封装的普通指针,销毁该指针的目标对象,避免内存泄露.2.为了表现出和普通指针一 ...
- YII与Ace Admin 的集成
目录 一. 前言... 1 二.为什么要使用YII+ace. 1 三.新建YII模块... 1 四.如何修改模板... 3 五.注意的地方... 4 六.整合的不足之处... 4 一. 前言 yii- ...
- codevs 3013 单词背诵 hash
题目链接 题目描述 Description 灵梦有n个单词想要背,但她想通过一篇文章中的一段来记住这些单词. 文章由m个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只算一 ...
- codeforces 540D 概率dp
传送门 大概可以这样理解, 一开始有r个石头, p个布, s个剪刀, 每一天有其中的两个相遇, 如果两个是相同的种类, 什么都不会发生, 否则的话有一个会挂掉, 问最后每一种生存的概率. dp[i][ ...
- ffmpeg用法
1. help ffmpeg.exe -h > help.txt 2. 解码: ffmpeg -i 123.264 123.yuv ffmpeg -i 123.264 -vframes 200 ...