close
  • 簡介

由於pythonn強大的功能,如果能直接使用python語言作網頁開發有利於把其化結果作呈現,因此把Django和其相關的CMS整理過並以wagtail的CMS作為實作介紹。

  • 方法及回顧

python為基礎的內容管理系統(CMS)和PHP類(如joomla, drupal, wordpress)不同的是需要有完整的程式語言的開發經驗,因此需要在完成Django的MTV架構學習的經驗過後才能開始。至於Django的CMS系統中的wagtail, DjangoCMS 和 MEZZALINE中, MEZZANINE的進入門檻最低也比較和PHP類的近似,DjangoCMS的架構和Django的MTV架構接近,而Wagtail把MTV中的View的概念拿掉而把相關的功能結合至M(Page Model)和T(templates)中,理清這個概念就會比較容易上手。

本次的學習資料來自於Wagtail官網的介紹http://docs.wagtail.io/en/v2.6.1/advanced_topics/third_party_tutorials.html其中的一個部落格https://www.accordbox.com/blog/wagtail-tutorials/,上面有原始碼,但若依照內容學習會發現程式不能完整執行,其中原因有Django版本不同和import錯誤等等,容易造成學習上的挫折而放棄。因此本文的目的為戡誤,以協助初學者完成學習。所有資料請以原始網站為主。學習方法建議以對照文章標題和比較部落格內容的程式碼來交互驗證。

  1. 本章無誤
  1. 需要 from wagtail.core.models import Page
  2. Templates directory 應該是 "/templates/blog/" 而非 "blog/templates/blog
  1. 需要 from django import forms
  1. wagtail.contrib.wagtailroutablepage", 應改成  "wagtail.contrib.routable_page",
  1. ​​​​​​​from django.core.urlresolvers import resolve 應改成 from django.urls import reverse
  1. 錯誤太多不建議操作。主要是Templates Tag 後面有許多沒提到的會出現大量錯誤。
  1. 需查證以下資料是否布原始碼中出現過
search_fields = Page.search_fields + [
    index.SearchField('title'),
    index.SearchField('body'),
]​​​​​​​​​​​​​​
  •  
arrow
arrow
    文章標籤
    django wagtail CMS python
    全站熱搜

    liusming 發表在 痞客邦 留言(0) 人氣()