1. 程式人生 > 實用技巧 >3-crm專案-kingadmin,第二步展示列表

3-crm專案-kingadmin,第二步展示列表

###############展示所有註冊的表 ###############

"""

實現學生庫-----學生列表頁面
1,有列表
2,搜尋
3,有過濾
4,有分頁
5,有批量操作,

要做成一個通用的頁面,每個頁面不配置都一樣,然後特殊的部分通過 配置來實現,
你把這個搞出來了,就相當於自己寫了一個admin了,
我們可以做成一個模組,可以應用到別的專案,單獨做成一個app,

分析url,就是admin/appname/tablename
通過url找到這個表名,這個可以使用反射來找到,就可以把表裡面的資料取出來,
然後把資料放到頁面,頁面上就可以傳什麼表就展示什麼表了,
這是基本的思路

程式碼怎麼寫?
首先第一步,先實現一個所有表的列表頁面,
1,建立頁面,table_index.html
2,繼承base,把選單的部分刪除掉,保留單行條,
3,使用bootstrap的面板,上面是appname,下面是tablename,

現在最重要的是解決為什麼一註冊就展示了這個表,
思路就是建立了一個字典:
{appname:{tablename: tableadminclass,
            tablename: tableadminclass,
            },
appname:{tablename: tableadminclass,
            tablename: tableadminclass,
            },
}

怎麼通過表名獲取到modelclass,和app的名字呢?
1,model_class._meta.app_label
2,model_class._meta.model_name

怎麼把admin_class 和model_class 進行關聯呢?
admin_class.model = model_class 加了一個屬性,利於前端呼叫,



"""

###############展示學生列表頁面 ###############

角色和需求
1,銷售人員,
1.1,要對學生進行維護,可以對學生進行檢視,新增,刪除,修改,跟進等操作
程式碼上的要求:
增刪查改各使用一個頁面,然後根據每一個表的配置來控制,展示的欄位,篩選字典,查詢欄位,批量操作,要求是可配置的,
1.2,最複雜的是學生檢視頁面,有查詢,有篩選,有批量,有表頭,有列表,有分頁,
1.3,要有學生報名的業務,
1.4,學生池的概念,可以把沒有成交可能的放入學生池,也可以把你認為有可能成交的學生拉入自己的名下,
2,講師
1.1,要批量生成上課記錄,對學生考勤
1.2,每天的作業成績需要錄入
3,學生
1.1,要交作業,
4,老闆
要看報表,
5,登陸,註冊,選單展示,許可權控制,

 

###############展示學生列表頁面 ###############