All Projects → xiaowan → Pyadmin

xiaowan / Pyadmin

管理后台脚手架,实现了RBAC, 和一个简单的SQLALCHEMY的Mapper工具,基于tornado框架

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyadmin

Vuexfire Admin
A Vue / Vuexfire app with Firebase auth. Based on vue-admin, using vuex, vuexfire, vue-router and firebase as the backend.
Stars: ✭ 60 (-47.37%)
Mutual labels:  vue-admin
Gadmin
基于GoFrame框架的前后端分离管理后台
Stars: ✭ 78 (-31.58%)
Mutual labels:  vue-admin
Iceworld
tonado的multi-thread 多线程封装
Stars: ✭ 99 (-13.16%)
Mutual labels:  tornado
Vue Admin
基于Vue2、element ui、vue-cli、vuex、vue-router、axios 、echarts后台管理系统demo. 权限管理,用户管理,菜单管理。无限级菜单,下拉树形选择框
Stars: ✭ 1,135 (+895.61%)
Mutual labels:  vue-admin
Buefy
Lightweight UI components for Vue.js based on Bulma
Stars: ✭ 9,025 (+7816.67%)
Mutual labels:  vue-admin
Elasticsearch Hn
Index & Search Hacker News using Elasticsearch and the HN API
Stars: ✭ 92 (-19.3%)
Mutual labels:  tornado
Calm
It is always Calm before a Tornado!
Stars: ✭ 50 (-56.14%)
Mutual labels:  tornado
Ruoyi Vue Fast
(RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统
Stars: ✭ 107 (-6.14%)
Mutual labels:  vue-admin
Pytt
A Pure Python BitTorrent Tracker using Tornado.
Stars: ✭ 76 (-33.33%)
Mutual labels:  tornado
Sparrow
🎉场景化低代码(LowCode)搭建工作台,实时输出源代码
Stars: ✭ 1,360 (+1092.98%)
Mutual labels:  vue-admin
Vue Admin Beautiful
🚀🚀🚀vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vue-admin-beautiful-pro,vab admin pro,vab admin plus主线版本基于element-plus、element-ui、ant-design-vue三者并行开发维护,同时支持电脑,手机,平板,切换分支查看不同的vue版本,element-plus版本已发布(vue3,vue3.0,vue,vue3.x,vue.js)
Stars: ✭ 10,968 (+9521.05%)
Mutual labels:  vue-admin
Bugsnag Python
Official bugsnag error monitoring and error reporting for django, flask, tornado and other python apps.
Stars: ✭ 69 (-39.47%)
Mutual labels:  tornado
Work At Olist
Apply for a job at Olist's Development Team: https://bit.ly/olist-webdev
Stars: ✭ 93 (-18.42%)
Mutual labels:  tornado
Awesome Uikit
Collect JS Frameworks, Web components library and Admin Template.
Stars: ✭ 1,136 (+896.49%)
Mutual labels:  vue-admin
Vue Admin Html Java
spring boot + mybatis + vue + element-ui 实现后台管理API接口
Stars: ✭ 104 (-8.77%)
Mutual labels:  vue-admin
Vue3 Admin
👏vue3.0后台管理框架👏基于vue-cli4+compositionAPI+vue-router4
Stars: ✭ 54 (-52.63%)
Mutual labels:  vue-admin
Febs Cloud
基于Spring Cloud Hoxton.RELEASE、Spring Cloud OAuth2 & Spring Cloud Alibaba & Element 微服务权限系统,开箱即用。预览地址:https://cloud.mrbird.cn
Stars: ✭ 1,295 (+1035.96%)
Mutual labels:  vue-admin
Tornado Sqlalchemy
SQLAlchemy support for Tornado
Stars: ✭ 112 (-1.75%)
Mutual labels:  tornado
Iview Vue Admin
iView vue Admin / An admin management system template
Stars: ✭ 105 (-7.89%)
Mutual labels:  vue-admin
Quasar Sika Design
quasar-sika-design让世界没有难写的代码,Quasar Sika Design 是一个企业级中后台前端 / 设计解决方案,中后台管理模板,我们秉承 Ant Design 的设计价值观,致力于在设计规范和基础组件的基础上,继续向上构建,提炼出典型模板 / 业务组件 / 配套设计资源,进一步提升企业级中后台产品设计研发过程中的『用户』和『设计者』的体验。
Stars: ✭ 93 (-18.42%)
Mutual labels:  vue-admin

开场前,安利一下,其实 https://github.com/xiaowan/pyclient 这个项目也是蛮好用的呢...

简介

该脚手架可快速为管理后台提供restful接口,框架前端使用 https://github.com/PanJiaChen/vue-element-admin
框架自带一个简单的RBAC以及web操作界面,web界面地址:https://github.com/xiaowan/pyadmin-ui
数据库表及部分数据在dbinfo 目录内
测试数据中包含三个用户,登陆名为root,developer,seven,分别对应 上帝视角,开发人员,普通员工三个系统角色

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

  • tornado 作为基础框架
  • oslo.config 作为配置管理
  • oslo.context 作为请求分配request id,如果以后收集日志至类似ELK环境中,可使用request id 来查询
  • oslo.log 日志管理
  • sqlalchemy 作为mysql mapper
  • pika 操作rabbitmq
  • redis 操作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.py rabbitmq 操作封装,尽可能使用一个rabbitmq连接,每个请求中使用一个单独的channel操作rabbitmq
  MyRedis.py redis操作封装
  Result.py restful请求返回结果封装
  Route.py 负责管理所有的请求地址与逻辑处理类的映射   RPCClient.py 暂时无用
  Utils.py 常用工具类函数

以下为常用装饰器:

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

部分功能截图如下: image

image

image

image

image

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].