backend介绍

开发环境:

windows 10

python 3.6.5

django 2.2

一个django 后台管理的app

将后台管理组件化, 不依赖于项目, 只要简单配置就可以使用, 开发业务逻辑也非常方便

其主要包含三个内容:

  - RBAC模式的权限系统

  - stark组件

  - filemanage文件管理

目录结构

backend介绍_第1张图片

 

表结构

 backend介绍_第2张图片

一般RBAC模式用户与角色关系是多对多管理, 这里我用的是FK关联.

RBAC权限系统

为什么程序需要权限控制?

对于不同用户使用系统时候就应该有不同的功能
所以,只要有不同角色的人员来使用系统,那么就肯定需要权限系统。

不同的角色展示不同的菜单

backend介绍_第3张图片backend介绍_第4张图片

即使通过输入url访问也会拦截

backend介绍_第5张图片

请求访问流程

backend介绍_第6张图片

stark组件

stark组件是根据Django admin为原型写的一个组件,能够让我们告别增删改查不依赖于admin

名字由来

stark来源于《冰与火之歌》里面的史塔克。

史塔克家族是北境最古老也是最重要的家族,是北境各大小封臣的总领主,在被伊耿一世征服之前曾是独立数千年的北境之王。

名字叫啥都可以,看你的爱好了!貌似大家都会叫stark组件。

注册流程

backend介绍_第7张图片

详细介绍

这个组件是通过网络视频, 老男孩教育的武沛齐讲师学习的

他的个人博客

  https://www.cnblogs.com/wupeiqi/

通过单例模式生成一个实例, 然后使用app下任意model注册,就会生成增删改查4个url, 可以自定制批量操作, 自定制搜索字段, 自定制显示字段.

stark组件太牛皮了, 我必须另开一个随笔来介绍

文件管理

原本打算使用elfinder作为文件管理的插件

但最新的elfinder对python的连接器停留在8年前的版本

  https://github.com/Studio-42/elfinder-python

支持django的yawd_elfinder插件最新也在4年前

  https://github.com/ppetrid/yawd-elfinder

并且对python3/django2 使用很不好, 网上文档的特别少, 

然后自己看源码修改, 后端一直找不到驱动目录, 源码各种字符编码转换看的我都要吐了, 经过一周折腾我放弃使用elfinder改用django filemanage

django filemanager

源码地址 : https://github.com/IMGIITRoorkee/django-filemanager

django filemanager对windows下编码有一点小小的bug, 就是win和linux的目录分割符不同, 这个问题会导致win下编码报错

backend介绍_第8张图片

就是这里 他原来直接用split('\')作为目录分隔符

其他小功能介绍

geetest滑动验证

天气api

backend介绍_第9张图片

二级菜单

backend介绍_第10张图片

表单验证

删除提醒

backend介绍_第11张图片

检验修改信息

动态更换主题

文件管理

你可能感兴趣的:(backend介绍)