2019年11月29日 星期五

#修改mezzanine 免費主題flat-->加入自己的view



目標:在網頁中,加入筊白筍每日交易行情

(以下參考的檔案,請到  這個網頁的下方 下載)

準備:
  • 使用django環境,用爬蟲程式,處理好抓回來的資料,在本地端server跑起來。備用。如下圖
(showprice.html和views.py在最下面可下載參考)
  • 已經用mezzanine 主題建立好一個網頁。
mezzanine flat主題的部份
  • 在url.py中,
最上面加入這一行            (mezzanine.pages.views.page()就是專門管view程式的)
from mezzanine.pages import views

把下面這一行註解掉       (這是由mezzanine直接控制的首頁)
 ###url("^$", direct_to_template, {"template": "index.html"}, name="home"),

把下面這一行取消註解    (要用views.page轉向我們的首頁-->flat\templates\pages\index.html,slug是views.page的參數,告訴它要處理的路徑)
url("^$", views.page, {"slug": "/"}, name="home"),

  • 在flat目錄下新建一個檔案,檔名一定叫做page_processors.py,檔案內容和說明參考下面下載檔案。
你發現,我們把爬蟲程式就放在裡面了,只是多了一些設定,還有它只能傳回變數(字典型態),render還是由mezzanine來做。
@processor_for("/")這一行,參數"/"就是類似像「127.0.0.1/」的路徑。
p.s.因為其他頁面是mezzanine的page,所以如果要寫程式套用到這些page,就在url.py中增加路徑,slug後面就加頁面名稱,這裡的參數,也跟著對應就可以了。

  • 進入127.0.0.1:8000/admin,新增一個page,title叫home,在它的最底下有meta標籤,點進去,在url欄位裡填入/
  • 把先前完成的靜態首頁flat\templates\index.html,複製覆蓋flat\templates\pages\index.html,然後編輯它:在你想要的地方,將showprice.html裡面<div>標籤的內容貼上去。

先在本機server跑看看,沒問題,就可以送上heroku了。

沒有留言:

張貼留言