随笔分类 -  我的第一个python web开发框架

摘要:昨天在前领导技术大牛吕哥的帮忙下,python服务管理从nginx+supervisor+uwsgi+python3改为了轻便结构nginx + unit + python3,部署和配置起来顿时轻松起来。服务器配置好以后赶紧上官网http://unit.nginx.org将英文文档全部啃完,全面理解 阅读全文
posted @ 2018-12-20 14:20 AllEmpty 阅读(1525) 评论(0) 推荐(1) 编辑
摘要:我的第一个python web开发框架系列博文从17年6、7月份开始写(存了近十章稿留到9月份才开始发布),到今天结束,一年多时间,想想真不容易啊。 整个过程断断续续,中间有段时间由于工作繁忙停了好长时间,到今年6月份才稍微能挤出些时间来,想想自己年初定下的目标,咬咬牙重新开动,几个月坚持下来,比自 阅读全文
posted @ 2018-09-14 16:06 AllEmpty 阅读(7009) 评论(3) 推荐(2) 编辑
摘要:后台权限和底层框架的改造终于完成了,小白也终于可以放下紧悬着的心,可以轻松一下了。这不他为了感谢老菜,又找老菜聊了起来。 小白:多谢老大的帮忙,系统终于改造完成了,可以好好放松一下了。 老菜:呵呵,对于后台管理系统功能,你觉得已经完工了吗?没有什么遗漏的吗? 小白:啊......权限管理完成后不就完 阅读全文
posted @ 2018-09-14 15:16 AllEmpty 阅读(3809) 评论(21) 推荐(3) 编辑
摘要:前面的菜单、部门、职位与管理员管理功能完成后,接下来要处理的是将它们关联起来,根据职位管理中选定的权限控制菜单显示以及页面数据的访问和操作。 那么要怎么改造呢?我们可以通过用户的操作步骤来一步步进行处理,具体思路如下: 1.用户在管理端登录时,通过用户记录所绑定的职位信息,来确定用户所拥有的权限。我 阅读全文
posted @ 2018-09-13 21:58 AllEmpty 阅读(3053) 评论(0) 推荐(3) 编辑
摘要:后台管理员的管理功能,它主要用来管理后台的登录账号,绑定权限,当然如果想将后台管理扩展成企业相关管理系统,比如用于公司人事管理,在这个基础上进行适当扩展就可以了。 我们先看看界面效果(也可以看着数据字典来写页面和接口) 看起来功能项还是不少,管理员也可以直接改为员工管理。列表没有什么特别的地方,所以 阅读全文
posted @ 2018-09-07 17:46 AllEmpty 阅读(2888) 评论(1) 推荐(2) 编辑
摘要:对于职位管理,我们可以理解它为角色权限的管理,就像前面所说的一样,有了职位管理,后台管理系统绑定好对应的权限以后,新进员工、离职或岗位调整,管理员操作起来就非常的便捷了,只需要重新绑定对应职位就可以做好权限的切换工作。 为了方便职位管理,我们可以将页面设计成下面这个样子 左边显示部分列表,点击其中一 阅读全文
posted @ 2018-09-06 23:16 AllEmpty 阅读(4581) 评论(0) 推荐(2) 编辑
摘要:对于后台管理系统来说,要做好权限管理离不开菜单项和页面按钮控件功能的管理。由于程序没法智能的知道有什么菜单和控件,哪些人拥有哪些操作权限,所以首先要做的是菜单管理功能,将需要管理的菜单项和各个功能项添加(注册)到菜单管理表中,方便后续权限控制管理。 要开发一个菜单管理功能,离不开这些功能:菜单列表展 阅读全文
posted @ 2018-08-30 20:27 AllEmpty 阅读(4846) 评论(1) 推荐(1) 编辑
摘要:接下来要做的是权限系统的数据库结构设计,在上一章我们了解了权限系统是通过什么来管理好权限的,我们选用其中比较常用的权限系统来实现当前项目管理要求。 下面是我们选择的权限系统关系模型: 从以上关系可以看到,用户登录成功以后,通过读取管理员账号信息获取当前管理员所在部门与职位,读取职位中的权限信息。进入 阅读全文
posted @ 2018-08-23 16:11 AllEmpty 阅读(3450) 评论(0) 推荐(6) 编辑
摘要:框架底层和接口终于改造完成了,小白再次找到老菜。 小白:老大,上次你对后台权限系统简单的讲了一下,我一点头绪都没有,现在有空完整的说一说吗? 老菜:说到权限系统,要讲明白真不容易,权限系统并不是越复杂越好,要根据项目的需要而定,有的系统只有几个人操作,并没有必须使用功能强大且复杂的权限管理系统;而有 阅读全文
posted @ 2018-08-22 19:36 AllEmpty 阅读(9296) 评论(1) 推荐(10) 编辑
摘要:前面ORM模块我们已经完成了开发,接下来要做的就是对项目代码进行重构了。因为对底层数据库操作模块(db_helper.py)进行了改造,之前项目的接口代码全都跑不起来了。 在写ORM模块时,我们已经对产品接口的分页查询、新增、修改、获取指定产品实体接口已经重构好了,还剩下删除接口未完成 如果前面代码 阅读全文
posted @ 2018-08-20 22:51 AllEmpty 阅读(2238) 评论(1) 推荐(1) 编辑
摘要:写到这里,基本的ORM功能就完成了,不知大家有没有发现,这个ORM每个方法都是在with中执行的,也就是说每个方法都是一个完整的事务,当它执行完成以后也会将事务提交,那么如果我们想要进行一个复杂的事务时,它并不能做到,所以我们还需要对它进行改造,让它支持sql事务。 那么应该怎么实现呢?我们都知道要 阅读全文
posted @ 2018-08-17 16:43 AllEmpty 阅读(1735) 评论(0) 推荐(0) 编辑
摘要:几个复杂的ORM方式都已介绍完了,剩下一些常用的删除、获取记录数量、统计合计数、获取最大值、获取最小值等方法我就不一一详细介绍了,直接给出代码大家自行查看。 1 #!/usr/bin/env python 2 # coding=utf-8 3 4 from common import db_help 阅读全文
posted @ 2018-08-16 23:52 AllEmpty 阅读(1508) 评论(0) 推荐(1) 编辑
摘要:在开发中,查询操作是使用最多的,而查询列表是其中之一,查询列表可分为分页查询和不分页查询(它们之间多了一次总记录数查询),还可以分为单表查询和多表关联查询,返回的结构体根据前端使用的表单框架不同而有所区别。 我们先看看,对于列表分页查询,在接口中是如何处理的 1 @get('/api/product 阅读全文
posted @ 2018-08-15 21:20 AllEmpty 阅读(1474) 评论(0) 推荐(0) 编辑
摘要:接下来我们要封装的是修改记录模块。 先上产品信息编辑接口代码 第21行到25行,是我们常用修改记录的sql语句,它与插入记录差别比较大,但也有相似的地方,那就是都是字段与值一一对应,我们同样可以使用字典的方式将它做为ORM的参数值,在ORM中进行转换处理,组合成对应的sql语句。 操作步骤: 1.将 阅读全文
posted @ 2018-08-12 11:50 AllEmpty 阅读(1520) 评论(0) 推荐(1) 编辑
摘要:在数据库操作时,新增记录也是必不可少的,接下来我们应用字典的特性来组合sql语句 先上产品新增接口代码 在21行到24行就是sql语句的拼接,使用这种方法,我们经常会因为多写或少写%s和变量,导致sql执行出错。 在python中,我们最常用的就是字典,从新增记录的语句中,可以看到字段与值是一一对应 阅读全文
posted @ 2018-08-03 17:08 AllEmpty 阅读(1757) 评论(0) 推荐(0) 编辑
摘要:在上一章中,我们已经创建好ORM的基类了,接下来要做的就是将基类的常用方法一一实现。 首先我们来看看之前项目中,最常见的获取指定主键的记录实体 从代码中可以看到,我们需要执行select * from product where id = xx从数据表中查询到我们想要的数据。 要封装成ORM的方法, 阅读全文
posted @ 2018-08-03 00:15 AllEmpty 阅读(1925) 评论(1) 推荐(2) 编辑
摘要:弄完底层数据库操作模块后,接下来要做的是ORM的正式设计。在开始之前,我们需要思考一下怎么来设计一个ORM呢?这个类它能帮助我们处理什么样的问题?需要有哪些功能模块?怎么做到针对不同的数据库与表单进行操作? 在前面我们知道,ORM它简单的理解就是将我们写的一些参数值转变为对应的sql语句,来对数据表 阅读全文
posted @ 2018-08-01 23:35 AllEmpty 阅读(2142) 评论(0) 推荐(0) 编辑
摘要:在开始编写ORM模块之前,我们需要先对db_helper进行重构,因为ORM最终生成的sql是需要转给db_helper来执行的,所以拥有一个功能完善、健壮的数据库操作类是非常必要的。 这是项目原db_helper.py代码 #!/usr/bin/env python # coding=utf-8 阅读全文
posted @ 2018-07-27 12:29 AllEmpty 阅读(3459) 评论(2) 推荐(3) 编辑
摘要:小白弄完代码版本管理和接口文档后,兴奋的找到老菜。 小白:老大,我已经按你讲的要求,将代码版本管理和接口文档都搞好了。从项目开始到现在,除了代码编写,感觉学会好多东西啊。 老菜:嗯嗯,实战确实需要掌握很多代码以外的东西。如果你只是想安静的做一位码农,别人安排什么你就做什么,其他事情别人搞定,那你只会 阅读全文
posted @ 2018-07-25 15:19 AllEmpty 阅读(2693) 评论(2) 推荐(0) 编辑
摘要:书接上一回,小白和老菜聊到代码的版本控制和接口文档 小白:为什么要做版本控制,我不弄版本控制不也完成了项目了吗?要做版本控制不是很麻烦,又要安装服务又要提交代码,代码又不是多人用开发,还要写文档...... 老菜:这就是你这些小白的思维,只看眼前不思长远。对于任何一个项目,你都不可能绝对的说它永远都 阅读全文
posted @ 2018-07-13 16:56 AllEmpty 阅读(3486) 评论(5) 推荐(2) 编辑