backend介紹


開發環境:


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

二級菜單

表單驗證

刪除提醒

檢驗修改信息

動態更換主題

文件管理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM