
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、json靈活表單配置有時(shí)候?yàn)榱伺渲玫撵`便性、應(yīng)用將來的需求變幻、控制單張表的字段數(shù),避開字段過多,會(huì)把一些字段設(shè)置是json格式。這樣的益處是,后面假如驟然需要加多一個(gè)字段,就可以挺直在加到這個(gè)json里面,既不用修改數(shù)據(jù)表,也不用修改程序,只要通知前端我在json里面加了一個(gè)字段就好了,對(duì)于將來字段設(shè)置不確定或者隨時(shí)轉(zhuǎn)變的狀況是十分便利。但有一個(gè)不好的地方就是,配置起來很棘手,后臺(tái)可能是給到一些不懂技術(shù)的人用,他們看到這么個(gè)東西就很一臉蒙蔽,甚至有時(shí)候技術(shù)自己可能出配著配著一不當(dāng)心少了個(gè)引號(hào),少個(gè)了逗號(hào)導(dǎo)致json格式錯(cuò)誤,這就會(huì)導(dǎo)致程序解析json錯(cuò)誤然后浮現(xiàn)異樣,影響了線上應(yīng)用。所以這樣
2、的后臺(tái)對(duì)于懂技術(shù)不懂技術(shù)的人來說都是一個(gè)挑戰(zhàn)。所以我就想著把這個(gè)json,拆解成一個(gè)表單的形式這樣看起來是不是就直觀無數(shù),不管是誰來用這個(gè)后臺(tái)都能很輕易的上手。原理也很容易。加載時(shí):第1步:把 json 解析出來,把?json 里的每個(gè)字段當(dāng)做是 model 的單個(gè)自立的字段去處理,賦值到對(duì)象上;第2步:自定義一個(gè)表單 form , 把這些從 json 解析出來的字段也顯示到管理后臺(tái)上。寫入時(shí):第1步:接收自定義表單傳過來的數(shù)據(jù)后進(jìn)來驗(yàn)證(看需求要不要做一些數(shù)據(jù)驗(yàn)證)第2步:把數(shù)據(jù)封裝成 json 后再賦值到 model 上保存該 json 的字段,然后寫入數(shù)據(jù)庫(kù)保存。實(shí)現(xiàn)思路就這么幾步,很容
3、易,只是編碼過程中會(huì)存在一些詳情的問題,下面通過編碼來把上面的步驟走一遍。要處理剛從數(shù)據(jù)庫(kù)讀出來的數(shù)據(jù),只需要重寫一下 model 類的一個(gè)類辦法from_db下面這一段是源碼的from_db辦法那我們要做的就是在自己的 model 中重寫這個(gè)辦法,然后先調(diào)用父類的from_db辦法完成數(shù)據(jù)的加載下面是我實(shí)現(xiàn)的把 json 解析成 model 對(duì)象字段的代碼,我封裝成一個(gè)類,哪個(gè) model 需要解析 json 的挺直繼承這個(gè)類就好了有 2 個(gè)地方解釋一下:代碼中的是設(shè)置到 instance 上的字段名,prefix 指的是 json 字段的字段名,后面接 3個(gè)下劃線(由于2個(gè)下劃線是外鍵的讀
4、取辦法,避開矛盾),然后接上 json 是的 key。如:params= -> params_test這段代碼是為了把解析成 imagefieldfile 類型,這樣在后臺(tái)顯示的樣式就是上圖的樣子,這樣便利的上傳設(shè)置,否則會(huì)以鏈接的形式顯示在后臺(tái)。上面我們已經(jīng)把 json 解析成對(duì)象的一般字段了,現(xiàn)在要做的就是把這些字段像 model 定義好的字段一樣顯示在后臺(tái)。這里先假設(shè)數(shù)據(jù)表里有一個(gè)這樣的 json 字段,便利理解:我們定義一個(gè) form 如下:這里主要是重寫了 modelform 的 clean 辦法,在里面將特定數(shù)據(jù)封裝成 json 然后再保存到 model 中。代碼功能都帶注釋了。clean 里面的規(guī)律最好是自己跟著實(shí)現(xiàn)一遍,調(diào)試一下,直觀的看封裝過程會(huì)更簡(jiǎn)單理解,單看代碼可能會(huì)有點(diǎn)難理解。最后一步,把上面寫好的 form ,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中九年級(jí)數(shù)學(xué)教案教學(xué)設(shè)計(jì)一元二次方程地根與系數(shù)關(guān)系
- 《普通動(dòng)物學(xué)》總結(jié)模版
- 建筑施工事故安全管理體系
- 抗腫瘤藥物臨床應(yīng)用指導(dǎo)原則全文
- 園林法律法規(guī)試題及答案
- 銀行社招ai面試題庫(kù)及答案
- 藝術(shù)類國(guó)企面試題目及答案
- 區(qū)域生態(tài)循環(huán)農(nóng)業(yè)項(xiàng)目可行性研究報(bào)告
- 修路公務(wù)員面試題及答案
- 影視器材運(yùn)輸保險(xiǎn)服務(wù)與定制保險(xiǎn)箱租賃協(xié)議
- (完整版)農(nóng)業(yè)主要知識(shí)點(diǎn)
- 體育科研方法試卷試題答案
- 《國(guó)家電網(wǎng)公司十八項(xiàng)電網(wǎng)反事故措施(試行)》實(shí)施細(xì)則
- 射線檢測(cè)操作指導(dǎo)書
- 中國(guó)民主同盟入盟申請(qǐng)表(樣表)
- 國(guó)家標(biāo)準(zhǔn)色卡電子版(WORD版圖片)
- 9種基坑坍塌案例
- 《呼吸機(jī)的使用管理》PPT課件.ppt
- 《手機(jī)攝影》全套課件(完整版)
- 年產(chǎn)10萬噸甲醇低壓羰基化合成醋酸精制工段工藝設(shè)計(jì)(共56頁)
- 兒童相聲劇本43286
評(píng)論
0/150
提交評(píng)論