天天看點

Python Flask開源部落格系統Bl

        本博文在51CTO技術部落格首發。

        開源不易,Python良心之作,真心送給廣大朋友,懇請給予支援,不勝感激!

        大家可以從下面的位址中去體驗Blog_mini的功能,我把副本部署在了騰訊雲上供大家使用:

位址:Blog_mini

賬号:[email protected]

密碼:blog_mini

0.Blog_mini送給你們:讓每個人都輕松擁有可管理的個人部落格

        你從未架設過伺服器或網站,希望可以接觸一下這方面的知識……

        你從未使用過Linux作業系統,希望可以接觸一下這方面的知識……

        你是國中生/高中生/大學生,希望能在學業之餘鍛煉一下自己的IT技能……

        你是Python新手,希望能有一個用Python開發的個人部落格……

        你學習Python許久,希望有一個開源的項目可以用來學習與練手……

        你已經開發和架設過個人部落格,但你希望擁有一個配備強大背景管理功能的個人部落格……

        ……

        那麼Blog_mini送給你們!願你們都能輕松擁有可管理的個人部落格!

在本文的最後,将會提供體驗位址給大家,讓大家完全體驗一下Blog_mini的功能。

1.Blog_mini是什麼?        

        Blog_mini是一個用Python開發的,擁有簡潔頁面(支援響應式布局!)和強大背景管理功能的開源部落格系統,使用Blog_mini,你将能輕松使用和管理你的個人部落格!

強大管理背景:

Python Flask開源部落格系統Bl

(1)技術架構

  • 背景語言:Python
  • Web架構:Python Flask
  • 設計模式:工廠模式(程式結構清晰)
  • 前端架構:Bootstrap3
  • 資料庫:sqlite或MySQL
  • 資料庫設計:一對一/一對多/多對多/進階多對多(進階自引用)

(2)項目位址與文檔位址

  • 項目位址:https://github.com/xpleaf/Blog_mini
  • 功能詳解:《開源分享:用Python開發的開源部落格系統Blog_mini》
  • 部署文檔:《Blog_mini完整部署文檔》
  • 在CentOS上部署Blog_mini:《在CentOS上部署開源部落格系統Blog_mini》
  • 在Ubuntu上部署Blog_mini:《在Ubuntu上部署開源部落格系統Blog_mini》

        為了使開源更有意義,作者撰寫了非常詳盡的部署文檔,涵蓋在CentOS與Ubuntu上的詳細部署方案,而文檔的思路力圖清晰與完整,看過《網絡排錯大講解》的朋友們相信會有所體會,是以完全不用擔心文檔會寫得羞澀難懂。

(3)無需為資料庫知識擔憂

        另外,即使你對資料庫配置完全不了解也沒有關系,因為Blog_mini提供兩種資料庫方案:

  • 完全不需要配置資料庫
  • 配置MySQL資料庫

        就這一點來說,這非常适合新手!而對于MySQL資料庫的配置,作者也在部署文檔中給出了詳盡的過程,是以,無論你對資料庫了解多少,都完全不用擔憂資料庫的配置問題!

(4)使用Python開發的規範性

        Blog_mini的所有開發和開源工作均在Linux平台下完成,使用了規範的虛拟環境開發方法,詳情可以看部署文檔。

2.Blog_mini功能詳解

        核心功能浏覽:

博文管理系統 評論管理系統 博文分類系統 博文導航系統 首頁插件系統 其它功能
1.可視化發表博文2.可視化修改博文3.添加到分類4.博文隐藏5.博文删除6.博文批量删除7.博文篩選 1.給博文評論2.評論使用者頭像3.回複評論4.評論屏蔽5.評論顯示6.評論删除7.評論批量删除 1.分類添加2.分類删除3.分類修改4.分類隐藏5.分類公開5.分類添加到導航 1.導航添加2.導航修改3.導航删除4.導航升序5.導航降序 1.系統插件2.插件可視化編輯内容添加3.插件修改4.插件顯示與隐藏5.插件升序6.插件降序 1.部落格标題修改2.部落格簽名修改3.導航樣式修改4.管理者資訊修改

        上面的這些功能相對都很實用。當然,其實還有很多功能可以實作,而且在技術層面上也是完全沒有問題的,但由于時間關系,未能一一實作,把Blog_mini分享給大家,就是希望大家可以根據自己使用的需要,來讓作者開發出更實用的功能。

(1)博文管理系統

  • 首頁一覽

在電腦上的部分檢視效果:

Python Flask開源部落格系統Bl

在手機上的部分檢視效果:

Python Flask開源部落格系統Bl

        可以看到,就從外觀頁面來看,Blog_mini的界面是比較簡潔的,理由也比較簡單,就是作者本身不是做前端的,是以在這方面可能會有所欠缺,往後作者會聯系前端的朋友來幫忙弄一下,看能不能做出更好看的效果。但不管怎麼說,希望大家更注重的是它的實用×××,而不僅僅是炫麗的前端。隻要時間足夠,前端頁面也可以做得很好看,我也期待中!

  • 博文頁面

博文内容:

Python Flask開源部落格系統Bl

評論頁面:

Python Flask開源部落格系統Bl

評論或回複:

Python Flask開源部落格系統Bl
  • 發表或修改博文
Python Flask開源部落格系統Bl

        使用的是Tinymce的可視化編輯器,是以對于文章的編輯是比較簡單,同時,還支援代碼高亮的功能:

Python Flask開源部落格系統Bl

        或源代碼的方式編輯博文:

Python Flask開源部落格系統Bl

        當然目前沒有做的一點是圖檔的上傳功能,這個後面看大家的需求,目前是覺得把圖檔放在第三方存儲,然後以連結的方式插入圖檔會更好。

  • 博文批量管理
Python Flask開源部落格系統Bl
Python Flask開源部落格系統Bl
Python Flask開源部落格系統Bl

(2)評論管理系統

  • 評論頁面

普通使用者看到的博文評論:

Python Flask開源部落格系統Bl

管理者看到的博文評論:

Python Flask開源部落格系統Bl
  • 評論管理
Python Flask開源部落格系統Bl
Python Flask開源部落格系統Bl
Python Flask開源部落格系統Bl

屏蔽評論:

Python Flask開源部落格系統Bl

(3)博文分類系統

  • 博文分類
Python Flask開源部落格系統Bl

添加分類:

Python Flask開源部落格系統Bl
  • 博文分類導航

對于首頁的導航:

Python Flask開源部落格系統Bl
Python Flask開源部落格系統Bl

        無論是它們的名稱,還是它們的順序,也或者是它們所包含的博文分類,你都是可以進行管理的:

Python Flask開源部落格系統Bl
Python Flask開源部落格系統Bl

        這樣的好處是,無論你的博文有多少,你都可以非常輕松地檢視和管理,根據導航和分類,輕松找到你寫的博文,而不用擔心博文數量過多時使得博文管理混亂。

(4)首頁插件系統

  • 插件管理
Python Flask開源部落格系統Bl

        當然對于插件的排序/啟用與否,也是完全可以使用的。    

  • 添加插件
Python Flask開源部落格系統Bl

(5)其它功能

  • 部落格基本資訊與修改
Python Flask開源部落格系統Bl
  • 使用者賬戶
Python Flask開源部落格系統Bl
  • 修改管理者密碼或資訊
Python Flask開源部落格系統Bl
Python Flask開源部落格系統Bl

        功能就先介紹到這裡吧,可以看到的是,Blog_mini有一個強大的管理背景,是以,隻要你部署了Blog_mini,你就可以像使用51cto部落格一樣友善了,而不用去考慮代碼的問題。大家可以去體驗一下,然後再決定是否要使用Blog_mini來架設個人部落格網站。

3.Blog_mini的意義

        其實就抛開功能上講,從開源的角度上去說,是有着非常大的意義的。

        最初寫Blog_mini就是寫給自己用而已,是以根本就沒有考慮管理背景的問題,但後來越是覺得,如果一個部落格系統,連上面這些功能都沒有,又如何去使用呢?

        于是看了看開源中國和Django中國社群,Flask社群,發現用Python開發的部落格系統有背景管理的數量極少,而比較多的朋友有這樣的需求,于是才決定寫一個功能較為完整的管理背景,然後分享給廣大朋友!

        開源與不開源的很大差別不僅僅在于代碼是否分享,另外重要的一點是,有沒有完整的部署文檔可以供大家參考!因為就算有了源代碼,如果沒有部署或使用的教程,開源的意義是不大的!而正是想着要把它開源,才促使自己去寫各種文檔,在這個過程中,自己的能力無疑是大大提高的。

        另外一方面,對于要寫運維平台的朋友來說,你總是要寫類似的管理背景頁面的(部落客目前正在着手開發的一個監控系統亦是如此),無論你是從頭到尾寫管理背景的前端頁面,或是直接使用開源的Bootstrap管理背景,對于背景與前端頁面的資料邏輯處理,你總是會面對的,這就要求你對前端與背景的互動過程有一個整體的把握。

4.關于代碼與品質

        我是第一次使用git版本控制系統,可以說沒什麼經驗,是以大家看GitHub上的項目首頁commit的次數有點多。

        但不管怎麼說,有興趣的朋友還是可以看一下Blog_mini的代碼的,至少看過很多國内同類的項目,程式結構是比較混亂的,而Blog_mini使用的是工廠設計模式,參考了miguelgrinberg的flasky的設計模式,是以在程式的結構上是非常清晰,無論是要修改或是擴充開發,也會顯得很有優勢,對于初學的朋友,完全可以從manage.py來捉摸出整個程式的整體架構的,這一點也不難。

        非常感謝miguelgrinberg的幫助,平時遇到一些問題問他,他總能及時回複解答,盡管我們的差距那麼大。另外也非常感謝師弟龍浩君幫我整理GigHub上的代碼以及提出的一些建議。

        最初是跟Alex和武Sir學習Python的,那時Alex一向講得口齒伶俐,崦武Sir雖然講得不是很流利,但也很有深度,不知道現在怎麼樣了,在此謝謝兩位老師。

5.Blog_mini體驗位址

        大家可以從下面的位址中去體驗Blog_mini的功能,我把副本部署在了騰訊雲上供大家使用:

位址:Blog_mini

賬号:[email protected]

密碼:blog_mini

        最後,感謝大家!你們的鼓勵與支援會促進我的進步!就像曾經寫第一篇博文時老男孩老師的鼓勵一樣!

        希望大家支援開源,支援分享!