實(shí)戰(zhàn)(Chapter1):django實(shí)現(xiàn)在線教育平臺(tái)之?dāng)?shù)據(jù)設(shè)計(jì)

一.前言

前面系統(tǒng)性地講解了django的基本知識(shí),也實(shí)現(xiàn)了一個(gè)簡單的博客項(xiàng)目,雖然講解的不是很詳細(xì),但是基本上所有的重點(diǎn)知識(shí)都有講解,從本節(jié)開始,我們以一個(gè)實(shí)戰(zhàn)項(xiàng)目來具體講解django的應(yīng)用,一些細(xì)節(jié)的知識(shí)點(diǎn)也會(huì)在項(xiàng)目中講解。

二.準(zhǔn)備工作

首先,我們需要明確需求,我們需要做的是一個(gè)在線教育平臺(tái),參考現(xiàn)在騰訊課堂、慕課網(wǎng)、英練幫等在線教育平臺(tái),我們這個(gè)平臺(tái)主要包含用戶、課程、機(jī)構(gòu)三部分。用戶主要指的是學(xué)生,包含學(xué)生的基本信息、購買信息等;課程包含課時(shí)、素材、資源等;機(jī)構(gòu)主要包括機(jī)構(gòu)的基本信息、機(jī)構(gòu)下的老師信息等。基本結(jié)構(gòu)圖如下:


結(jié)構(gòu)圖.png

三.數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

基于上面對(duì)產(chǎn)品需求的描述,我們將用戶信息設(shè)計(jì)如下:


用戶信息.png

主要包含基本信息、郵箱驗(yàn)證、輪播圖三張表。

課程信息.png
機(jī)構(gòu)信息.png
操作信息.png

我們發(fā)現(xiàn),所有的表中均沒有id字端,這個(gè)是因?yàn)閐jango會(huì)默認(rèn)增加一個(gè)primary key字端,即pk,這個(gè)不需要我們手動(dòng)添加。

另外,有些表中關(guān)聯(lián)的有user、course等字端,其實(shí)這里不是string型,均是外鍵,這個(gè)在之后的代碼中會(huì)有體現(xiàn)。

基于上面的數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),我們需要建很多張表,django默認(rèn)使用的是sqlite的,現(xiàn)在這樣一個(gè)大型的項(xiàng)目,使用sqlite顯然不合適,所以我們需要配置mysql的使用環(huán)境。
mac上mysql的安裝網(wǎng)上有詳細(xì)的教程,可以參考http://www.jb51.net/article/103841.htm
再此不再贅述。
下一節(jié),我們開始創(chuàng)建應(yīng)用并實(shí)現(xiàn)model。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容