項目github地址,不包含數據內容
簡述
- 我們的目標是做一個校園維基站點,提供校園生活百科的內容服務。
- 主要需求為
- 百科的搜索
- 百科的標簽分類
- 人人皆可參與編輯
- 界面簡潔大方直觀
- 其實有一個很好的技術選型,那就是開源的wikihow 英文、中文,它的UI簡潔不失美觀,單維基頁面的展示很清晰,而且是基于某種markdown語言的人人可修改。不過,它是基于mediaWiki,熟悉PHP的同學可以去嘗試。
- 對于Python而言,雖然沒有現成的工具,但借助強大的Python開源社區,我們也可以很快地搭建起一個輕量級的校園百科網站。
-
Wagtail
是一個基于Django
的優秀CMS(內容管理系統)。有強大的Django社區做后盾,開發資源相當豐富。利用它我們可以輕松地搭建屬于自己的內容發布網站。 - Wagtail的后臺管理界面漂亮而且強大,有良好的權限管理系統,頁面、圖片和文檔的管理功能以及富文本編輯功能。在文本內容搜索上可以集成elasticsearch,非常方便。
- 學習一個開源框架最好的方式就是去讀它的官方文檔 - wagtail。它的官方文檔已經比較完善了,對新手友好,推薦閱讀。
- 由于單人開發而且業務邏輯比較簡單明確,沒有考慮前后端分離,而是利用django模板功能,在SEO方面有一定的優勢。
- 為了方便,前端樣式選擇了輕量的purecss框架,有現成的一些頁面樣式可以使用,而且比較符合個人審美。
- 此外,由于之前的內容發布使用WordPress博客系統,需要導入原來的原生HTML內容,維基頁面要兼容原生html,所以目前游客的權限較低,修改后需要提交審核。markdown編輯功能暫時沒有加上,不過有開源的插件,使用很方便。
效果圖
移動端首頁
PC端首頁
標簽頁
搜索結果頁面
PC端單維基頁面
移動端單維基頁面
幫助修改頁面
幫助修改的富文本編輯與其他功能
Wagtail初體驗
-
pip install wagtail
安裝庫。 - 命令行輸入
wagtail start mysite
開始我們的項目。 -
cd mysite
進入項目目錄。 -
python manage.py migrate
數據庫遷移 。 -
python manage.py createsuperuser
創建管理員。 -
python manage.py runserver
開始運行,就可以在http://127.0.0.1:8000看到你的第一個wagtail網頁了。