用python搭建一個校園維基網站(一)

項目github地址,不包含數據內容

簡述

  • 我們的目標是做一個校園維基站點,提供校園生活百科的內容服務。
  • 主要需求為
    1. 百科的搜索
    2. 百科的標簽分類
    3. 人人皆可參與編輯
    4. 界面簡潔大方直觀
  • 其實有一個很好的技術選型,那就是開源的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網頁了。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容