麻瓜編程·python實戰·4-4自學:grid布局+圖表+模板繼承

我的成果

成果==1.3mb.gif

我的過程:

之前已經做過了這個網頁模板

Paste_Image.png

需要做的是:

  1. 保持側欄和導航結構不變,只改一下圖標和文字;

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

增加semantic中的grid
  1. 增加圖表的部分,需要用到jquery:

增加圖表的部分

其中加載圖表的js部分需要加上定位,當“點擊位點”(LD)時,在“圖表位置”(chart1)出現圖表。js打上馬賽克的部分是從highchart官網找的模板。

  1. 網站的框架已經成型,需要運用在django環境中,結合數據形成完整的網站。

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

插入點

!! 其次,分別編寫兩個子模板:

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

編寫子模板的時候要注意當前是在Django的templates中,需要注意路徑格式{% static '...' %}

!! 再來是改編django項目中的文件,需要改的有:

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

大改views.py

!! 最后是把子模板中需要用數據來填充的內容統統修改。
比如“文本詳情”中,加入{% for item in ItemInfo %}
,javascript中把series改為series: {{ chart_LD|safe}}(其中|safe是為了不轉碼,正常顯示)
這部分的細節比較多,暫不贅述了吧。需要注意的就是各個變量名稱需要對上號,不要搞混了、寫錯了。

  1. 應該到這里就可以結束了吧。

可以進入terminal,輸入python3 manage.py runserver,登入http://127.0.0.1:8000/index/查看了。
P.S. 基本模板中——側欄——Document(對應文本詳情)和Data(對應圖表)的 a 標簽中加入href屬性設置鏈接,就可以實現“點擊跳轉”了。

我的感受

  • 大約用時四小時,寫簡書用了一個小時。
  • 還是……嘖……感覺……啊,有很多東西,有點亂。(應該說此時心情還是比較不錯的)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容