pyadmin 管理后台快速开发脚手架开源项目

我要开发同款
匿名用户2018年02月27日
33阅读
开发技术Python
所属分类Web应用开发、后台管理系统(模板)
授权协议GPL

作品详情

简介 该脚手架可快速为管理后台提供restful接口,框架前端使用 https://github.com/PanJiaChen/vue-element-admin框架自带一个简单的RBAC以及web操作界面,web界面地址:https://github.com/xiaowan/pyadmin-ui

要求python版本为3.5+,使用到的第三方库:

tornado作为基础框架oslo.config作为配置管理oslo.context作为请求分配requestid,如果以后收集日志至类似ELK环境中,可使用requestid来查询oslo.log日志管理sqlalchemy作为mysqlmapperpika操作rabbitmqredis操作redis,目前登陆token存放在redis中

配置环境 此脚手架使用openstack的oslo.config作为配置管理,目前区分三个环境,分别是线上环境(conf),开发环境(debug),预览环境(pre)。指定环境有三种方式:

项目启动时使用--config-file=conf/xxx.ini来读取指定配置。设置UNITYMOB_ENVIRON环境变量,变量值分别为conf,debug,pre,分别对应上述三个环境。如果不指定配置文件,也没有设置环境变量,则默认使用conf环境的配置。如果同时设置了方式一和方式二,方式一的优先级级别最高。

关于目录结构 个人更喜欢java工程目录接口,所以该脚手架很大一部分都借鉴了java工程,以下为脚手架目录结构

controllers请求地址与逻辑类映射service业务逻辑层,被controller层调用dao细粒度的数据库增删改查mapper中每个文件为数据库表对应的文件conf存放所有配置文件。library目录为经常用到的库,以及常用中间件的简单封装,大致内容为:

  Decoreate.py常用装饰器  Exception.py在这里自定义自己的异常,使用时只需在代码中抛出该异常即可。  G.py这是一个单例类,常用的中间件都会放到此类中操作。  Handlers.py业务层Handler,controllers中的具体操作类可根据具体情况继承该文件中的Handler。  MyRabbitmq.pyrabbitmq操作封装,尽可能使用一个rabbitmq连接,每个请求中使用一个单独的channel操作rabbitmq  MyRedis.pyredis操作封装  Result.pyrestful请求返回结果封装  Route.py负责管理所有的请求地址与逻辑处理类的映射  RPCClient.py暂时无用  Utils.py常用工具类函数

以下为常用装饰器:

DI使用了python动态语言的特性,可以方便的为类新增类属性。Singleton单例模式Transaction需要使用事务的地方,函数执行结束会自动提交事务,如执行失败会上抛该函数异常,并且回滚事务。Returncontroller层返回结果的封装,确保返回结果被放到了Result类中Deprecated已废弃方法如果代码没有及时删除,可使用该装饰器提示。

下图为使用上述前端框架开发的sqlalchemymapper生成工具,具体代码正在整理中,后续更新上来。 

 

 

 

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论