麻瓜編程·python實(shí)戰(zhàn)·4-4自學(xué):grid布局+圖表+模板繼承

我的成果

成果==1.3mb.gif

我的過(guò)程:

之前已經(jīng)做過(guò)了這個(gè)網(wǎng)頁(yè)模板

Paste_Image.png

需要做的是:

  1. 保持側(cè)欄和導(dǎo)航結(jié)構(gòu)不變,只改一下圖標(biāo)和文字;

  2. 刪除原來(lái)的內(nèi)容模塊(container segment),增加semantic中的grid

增加semantic中的grid
  1. 增加圖表的部分,需要用到j(luò)query:

增加圖表的部分

其中加載圖表的js部分需要加上定位,當(dāng)“點(diǎn)擊位點(diǎn)”(LD)時(shí),在“圖表位置”(chart1)出現(xiàn)圖表。js打上馬賽克的部分是從highchart官網(wǎng)找的模板。

  1. 網(wǎng)站的框架已經(jīng)成型,需要運(yùn)用在django環(huán)境中,結(jié)合數(shù)據(jù)形成完整的網(wǎng)站。

這一部分老師教了一個(gè)叫做“模板繼承”的技能。把基本的網(wǎng)站框架寫(xiě)為(如:index.html),在其中留出一些插入點(diǎn),格式為{% block abc %}{% endblock %}。這些插入點(diǎn)可以讓別的html在此處和基本框架合體,前提條件是在這個(gè)html中,開(kāi)頭寫(xiě)上{% extends 'index.html' %}(表示去那兒找插入點(diǎn)),在要插入的代碼的開(kāi)端和尾端加上{% block abc %}{% endblock %}。很像是用block把基本框架撐開(kāi),然后把要插入的代碼放進(jìn)去。
在實(shí)際的操作中,因?yàn)槲覀円龅木W(wǎng)站有兩種頁(yè)面,所以把圖表和文本詳情分成兩個(gè)子模板,分別插入母模板。
!! 首先,在母模板中設(shè)置插入點(diǎn):

插入點(diǎn)

!! 其次,分別編寫(xiě)兩個(gè)子模板:

  • 文本詳情:
子模板1.png
  • 圖表:
子模板2

編寫(xiě)子模板的時(shí)候要注意當(dāng)前是在Django的templates中,需要注意路徑格式{% static '...' %}

!! 再來(lái)是改編django項(xiàng)目中的文件,需要改的有:

  • modules.py重新定位數(shù)據(jù)庫(kù)和collection,以及對(duì)應(yīng)的字段名及提取方法
  • urls.py增加訪問(wèn)地址,最終為:^index指向views.py.index(),^charts指向views.py.charts()。
  • views.py需要大改。

大改views.py

!! 最后是把子模板中需要用數(shù)據(jù)來(lái)填充的內(nèi)容統(tǒng)統(tǒng)修改。
比如“文本詳情”中,加入{% for item in ItemInfo %}
,javascript中把series改為series: {{ chart_LD|safe}}(其中|safe是為了不轉(zhuǎn)碼,正常顯示)
這部分的細(xì)節(jié)比較多,暫不贅述了吧。需要注意的就是各個(gè)變量名稱需要對(duì)上號(hào),不要搞混了、寫(xiě)錯(cuò)了。

  1. 應(yīng)該到這里就可以結(jié)束了吧。

可以進(jìn)入terminal,輸入python3 manage.py runserver,登入http://127.0.0.1:8000/index/查看了。
P.S. 基本模板中——側(cè)欄——Document(對(duì)應(yīng)文本詳情)和Data(對(duì)應(yīng)圖表)的 a 標(biāo)簽中加入href屬性設(shè)置鏈接,就可以實(shí)現(xiàn)“點(diǎn)擊跳轉(zhuǎn)”了。

我的感受

  • 大約用時(shí)四小時(shí),寫(xiě)簡(jiǎn)書(shū)用了一個(gè)小時(shí)。
  • 還是……嘖……感覺(jué)……啊,有很多東西,有點(diǎn)亂。(應(yīng)該說(shuō)此時(shí)心情還是比較不錯(cuò)的)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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