Mezzanine, an open source content management platform |
兩個禮拜說長不長, 說短不短, 在這段時間中不停地在原始碼、文件、Stackoverflow、及討論區中來回查找、驗證, 在茫茫的資訊海中要找到本來資料就不多 Mezzanine, 學習門檻不可謂不高, 因此在對它有一些的了解後(Django藏了太多東西, 要全部了解還是要繼續摸), 儘管深怕班門弄斧會誤導觀眾, 但是避免這些對我來說很寶貴的經驗被太快遺忘掉, 希望透過這篇網誌來整理一下先前的思緒與成果, 倘若還可以意外地釣到一些野生的前輩或先進分享經驗指教, 那可更是感動萬分啊。
先大概介紹一下這次 (已經完成的) 客製化目標或遇到的問題:
- 讓一個 Mezzanine 有兩(多)個 Blog 系統
- 利用 Django 的 Middleware 機制進行多國語系 (I18N) 處理 (使用 JavaScript 的解決方案)
- 對 RichText Page 新增客製化欄位
- Django/Mezzanine 處理靜態檔案 (STATIC_URL, STATIC_ROOT, MEDIA_URL, MEDIA_ROOT)
- 利用 context_processor 新增 template 裡面所需使用的變數
- 使用 Gunicorn 透過 WSGI 使用 Unix Socket 與 Nginx 溝通
- 啟用 SSL (HTTPS)
- 增加 Admin 管理界面開啓關閉選項
- Logging, 最重要的程式日誌設定
- CentOS 上利用 pip 安裝 Mezzanine 會發生的問題
- 客製化 TinyMCE (RichText Editor) 新增按鈕及功能
- 解決 AngularJS 與 template 使用相同 {{ }} 符號
問題與說明放在上述目標連結上, 如果還沒放連結, 表示還沒寫完。至於利用 Puppet、Supervisor 及 fabric 進行部署與管理的系統層面則不在本次文章範圍內。
留言
張貼留言