我的成果
我的過程:
之前已經做過了這個網頁模板
需要做的是:
-
保持側欄和導航結構不變,只改一下圖標和文字;
-
刪除原來的內容模塊(container segment),增加semantic中的grid
-
增加圖表的部分,需要用到jquery:
其中加載圖表的js部分需要加上定位,當“點擊位點”(LD)時,在“圖表位置”(chart1)出現圖表。js打上馬賽克的部分是從highchart官網找的模板。
-
網站的框架已經成型,需要運用在django環境中,結合數據形成完整的網站。
這一部分老師教了一個叫做“模板繼承”的技能。把基本的網站框架寫為(如:index.html),在其中留出一些插入點,格式為{% block abc %}{% endblock %}
。這些插入點可以讓別的html
在此處和基本框架合體,前提條件是在這個html
中,開頭寫上{% extends 'index.html' %}
(表示去那兒找插入點),在要插入的代碼的開端和尾端加上{% block abc %}
和{% endblock %}
。很像是用block把基本框架撐開,然后把要插入的代碼放進去。
在實際的操作中,因為我們要做的網站有兩種頁面,所以把圖表和文本詳情分成兩個子模板,分別插入母模板。
!! 首先,在母模板中設置插入點:
!! 其次,分別編寫兩個子模板:
- 文本詳情:
- 圖表:
編寫子模板的時候要注意當前是在Django的templates中,需要注意路徑格式{% static '...' %}
!! 再來是改編django項目中的文件,需要改的有:
-
modules.py
重新定位數據庫和collection,以及對應的字段名及提取方法 -
urls.py
增加訪問地址,最終為:^index
指向views.py.index(),^charts
指向views.py.charts()。 -
views.py
需要大改。
!! 最后是把子模板中需要用數據來填充的內容統統修改。
比如“文本詳情”中,加入{% for item in ItemInfo %}
,javascript中把series改為series: {{ chart_LD|safe}}
(其中|safe是為了不轉碼,正常顯示)
這部分的細節比較多,暫不贅述了吧。需要注意的就是各個變量名稱需要對上號,不要搞混了、寫錯了。
-
應該到這里就可以結束了吧。
可以進入terminal,輸入python3 manage.py runserver
,登入http://127.0.0.1:8000/index/查看了。
P.S. 基本模板中——側欄——Document(對應文本詳情)和Data(對應圖表)的 a 標簽中加入href
屬性設置鏈接,就可以實現“點擊跳轉”了。
我的感受
- 大約用時四小時,寫簡書用了一個小時。
- 還是……嘖……感覺……啊,有很多東西,有點亂。(應該說此時心情還是比較不錯的)