crm專案 stark元件分析

2022-05-14 18:18:34 字數 2871 閱讀 1372

###############    stark元件     ################

"""

這個stark元件是非常神奇的

1,獨立的乙個元件

2,沒有model

3,沒有views

"""

###############    stark元件     ################

"""

stark元件站點類

這個是乙個重點類,應該是研究這個元件的起點

做了幾件事

1,模仿admin,利用了單例模式,

2,模仿admin,可以對每乙個表進行註冊

這一步引數就是模型類,檢視類,傳遞過來,

3,模仿admin,可以做第一層的路由分發,利用了django自帶的url模組

"""

###############    stark元件     ################

"""

stark元件預設處理檢視

這個非常重要,是核心

第一,返回列表頁面,這是最為複雜的,

1,資料 2,表頭 3,表內容 4,查詢

5,過濾 6,action 7,分頁 8,新增按鈕

第二,新增頁面

第三,編輯頁面

第四,刪除頁面

這四個頁面都保留了定製,可以自己指定模板

處理第二級的url,這才是拼接最終的url

"""

###############    stark元件     ################

"""

stark元件處理檢視

1,每次處理檢視都會校驗許可權,看是否有新增按鈕,刪除按鈕,編輯按鈕,

把這個封裝起來,每乙個檢視類都繼承這個許可權類,

每乙個檢視類,都繼承預設的檢視,

所以這個地方用到了多繼承的知識,

2,預設檢視中每乙個小的功能都封裝成為乙個函式,

在真正的處理檢視類繼承預設檢視之後,重寫這些函式,達到定製的功能,

"""

###############    stark元件     ################

"""

stark元件,option類

這個類用來處理篩選,

1,指定字段,這種一般就是一對多的字段,或者多對多的字段,

2,可以定製是否支援多選,

"""

###############    stark元件     ################

"""

如何不用stark元件是如何開發的?

1,我需要研究一下部落格專案,

然後部落格專案和crm專案比較就知道如何開發了,

使用stark元件和使用admin元件開發後台有什麼優勢?

1,django 的 admin其本意是乙個簡易的資料生成工具,

主要用於專案初期階段進行簡單的資料管理,比較有侷限性

如果業務複雜些,admin可能就沒有辦法實現了

最大的問題是很不靈活並且是難以定製。

包括頁面定製

url擴充套件,頁面擴充套件

選單管理,許可權管理,

django admin 一般是用來給超級管理員實現一些基礎的增刪查改的,

不建議給使用者使用。但是目前專案中,有部分給使用者使用的功能很類似 django admin 中的 modeladmin ,

也就是把 model 中某 field 列出來檢視、修改、新增。

若是自己寫 view 的話,比較重複,或者自行實現乙個 modeladmin ?

還是通過定製 django admin 的 template 來實現較好?

如果比較追求使用者體驗的話建議自己寫, django admin 深度定製很麻煩,

自己寫,不用自帶的 admin ,開發前期可以用用。

給使用者做是個巨坑,本來目的就是做個方便開發的後台原型,到後來你得 hack 很多東西,唯一的好處是吃透文件

如果給使用者用,千萬別用 admin ,現在我正在填坑,還被別人在身邊墨跡。因為你寫前端互動的 js 已經打了無數個 patch,一團亂糟糟的

問題是,我問到的每個人都持反對意見,他們認為 admin 只限於超級使用者,很不靈活並且是難以定製。」 —來自 reddit 的 andybak

2,stark元件整合了bootstrap,更好的定製頁面,

擴充套件url,擴充套件頁面,

所有的功能,選單,頁面,都能他通過stark元件來整合進來,

這才是真正的後台,使用admin就沒有這麼好擴充套件,定製,

二者都是這樣,開發curd重複工作而且麻煩,所以兩者都可以節省curd的時間,專注於業務實現,

對xadmin來說,可能你能讀懂他的源**後,會覺得,嗯,也是不錯的

"""

###############    stark元件     ################

###############    stark元件     ################

###############    stark元件     ################

###############    stark元件     ################

###############    stark元件     ################

CRM專案之stark元件 2

那麼從今天開始呢,我們就要開始設計屬於我們自己的admin元件,起個名字就叫stark吧 當然你願意叫什麼都可以 仿照admin元件實現流程,stark元件要實現四件事情 在settings配置檔案中,確保 django.contrib.admin django.contrib.auth djang...

crm專案 許可權元件

表結構分析 表結構設計 1,四張表 使用者表,userinfo,這個表本身不會被建立,而是用來被真正的使用者表做繼承,角色表,role,選單表,menu,許可權表,permission,2,關聯關係 使用者表和角色表多對多關聯,角色表和許可權表多對多關聯,許可權表和選單表一對多關聯,提供的操作 提供...

stark元件前戲之django路由分發的本質

之前的路由分發書寫 檢視include原始碼 def include arg,namespace none ifisinstance arg,tuple callable returning a namespace hint.try except valueerror ifnamespace rai...