開發環境:
python 3.6.5 django 2.1.2
一個django 后台管理的app
將后台管理組件化, 不依賴於項目, 只要簡單配置就可以使用, 開發業務邏輯也非常方便
其主要包含三個內容:
- RBAC模式的權限系統
- stark組件
- filemanage文件管理
目錄結構

表結構

一般RBAC模式用戶與角色關系是多對多管理, 這里我用的是FK關聯.
RBAC權限系統
為什么程序需要權限控制?
對於不同用戶使用系統時候就應該有不同的功能
所以,只要有不同角色的人員來使用系統,那么就肯定需要權限系統。
不同的角色展示不同的菜單


即使通過輸入url訪問也會攔截

請求訪問流程

stark組件
stark組件是根據Django admin為原型寫的一個組件,能夠讓我們告別增刪改查不依賴於admin
名字由來
stark來源於《冰與火之歌》里面的史塔克。
史塔克家族是北境最古老也是最重要的家族,是北境各大小封臣的總領主,在被伊耿一世征服之前曾是獨立數千年的北境之王。
名字叫啥都可以,看你的愛好了!貌似大家都會叫stark組件。
注冊流程

詳細介紹
這個組件是通過網絡視頻, 老男孩教育的武沛齊講師學習的
他的個人博客
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下編碼報錯

就是這里 他原來直接用split('\')作為目錄分隔符
其他小功能介紹
geetest滑動驗證

天氣api

二級菜單

表單驗證

刪除提醒

檢驗修改信息

動態更換主題

文件管理

