CRM專案之stark元件 2

2022-03-07 11:06:39 字數 898 閱讀 6301

那麼從今天開始呢,我們就要開始設計屬於我們自己的admin元件,起個名字就叫stark吧(當然你願意叫什麼都可以)。

仿照admin元件實現流程,stark元件要實現四件事情:

① 在settings配置檔案中,確保

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

"crm",

] name = 'stark'

def ready(self):

autodiscover_modules("stark")

基於乙個單例物件實現model類註冊

class

adminsite(object):

"""stark元件的全域性類

"""def

__init__

(self):

self._registry ={}

def register(self, model, admin_class=none):

#設定配置類

ifnot

admin_class:

admin_class =modelstark

self._registry[model] =admin_class(model)

site = adminsite()

為註冊的所有的model設計增刪改查四個url,以book類為例,動態生成如下4條url:

設計增刪改查對應的檢視函式(這是整個元件最核心的部分) 

crm專案 stark元件分析

stark元件 這個stark元件是非常神奇的 1,獨立的乙個元件 2,沒有model 3,沒有views stark元件 stark元件站點類 這個是乙個重點類,應該是研究這個元件的起點 做了幾件事 1,模仿admin,利用了單例模式,2,模仿admin,可以對每乙個表進行註冊 這一步引數就是模型...

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...