Python論壇系統 LBForum

fmms 12年前發布 | 45K 次閱讀 Python 論壇系統BBS

LBForum 用django開發的論壇系統,演示地址為:http://vik.haoluobo.com/lbforum/ ,界面部分抄的 FluxBB(一個開源的PHP論壇 http://fluxbb.org/ )。
雖然Django寫的論壇也不少,不過還真沒什么好用的。
大多Django論壇都是獨立的app,而且不少還 缺模板,想我這樣有經驗的Django用戶要跑起來都覺得麻煩,其他普通用戶就更別說了。
LBForum主要注重部署的方便性和易用 性,功能方面目前還比較簡單。
LBForum一開始就是以整站的形式提供,所以以LBForum做為基礎項目進行二次開發是很容易的。
同時LBForum的開發盡量遵照Django可復用app原則,因此即使需要將LBForum做為獨立的app集成到其他項目也并不 會太難。

主要功能

目前功能還比較簡單,而且還有些小問題有待修正。

  1. 論壇分類,分版塊
  2. 發帖,回帖
  3. BBCode支持
  4. 置頂貼
  5. 使用django admin提供論壇管理功能

用開發服務器把LBForum跑起來

  1. 先把代碼down下來。LBForum托管在github上,http://github.com/vicalloy/LBForum 。如果你沒有安裝git,你可以直接用界面右上方的download
    source功能下載代碼。
  2. 運行\scripts\create_lbforum_env.py初始化lbforum的python虛擬環境。該腳本會自動創建一個 python的虛擬環境并使用easy_install安裝對應的依賴包,同時將一些依賴包解壓到對應的目錄中。
    注:django使 用的是svn版本,所以機器上必須要安裝有SVN,不然腳本會運行失敗。如果因為由于svn的問題導致腳本運行失敗,可以運行 lbforum_env.bat進入lbforum環境,手動安裝django的svn版本。
  3. 環境初始化好后,運行lbforum_env.bat進入lbforum環境
  4. 運行%mg% syncdb初始化數據庫
  5. 運行%mg% runserver啟動django開發服務器
  6. 進入admin,創建論壇分類和版塊
  7. 進入版塊發帖

LBForum的目錄結構說明

|+lbforum_env/#lbforum運行的python虛擬環境,運行create_lbforum_env.py后自動創建
|+requirements/#lbforum 用的第三方庫和app,運行的時候會將該目錄加到python路徑
|~scripts/#工程相關腳本
| |-create_lbforum_env.py#初始化python虛擬環境,并自動安裝easy_install/django依賴庫
| |-helper.py#提供其他腳本所需的輔助函數
| `-lbforum_env.bat*#啟動lbforum運行的虛擬環境及,并為lbforum的manage.py提供快捷方式%mg%,比如初始化 數據庫%mg%
syncdb
|~sites/#站點配置/模板/靜態文件
| `~default/#默認站點
|   |+static/#靜態資源文件,如css等
|   |+templates/#Django模板目錄
|   |+templates_plus/#Django模板目錄,用戶將自己重寫過的目標放到該目錄
|   `-……
|~src/#django 的app目錄
| |+account/#account相關app。具體站點通常會對用戶中心進行定制,所以該app在實際應用中很可能需要針對實際情況進行修改。
| |+djangohelper/#一些django的輔助函數等,
| |+lbforum/#lbforum的主app,論壇功能都在改app中
| |+lbregistration/#registration app的lbforum擴展,主要去掉郵件地址認證功能
| |+onlineuser/#顯示在線用戶的app(可復用的django app,可脫離lbforum單獨使用)
| `+simpleavatar/#頭像功能的app(可復用的django app,可脫離lbforum單獨使用,依賴djangohelper)
|+tools/#工程用到的輔助工具,目前只有一個virtualenv的腳本

注:

  1. 由于計劃在以后做i18n,所以目前只提供英文界面
  2. django的錯誤提示是顯示在字段后面,fluxbb的錯誤全部都顯示在表單前面。由于模板沒有調好,所以目前按照fluxbb的方式顯示錯 誤,所以錯誤顯示有些不太正常。
  3. bbcode的輸入框本想做成自適應大小的,不過也調得有些問題,所以現在輸入框的大小固定。
  4. 文檔… ,感覺好難寫-_-,目前文檔不全(項目中沒有帶任何的文檔),日后補上。
  5. 應用程序的目錄結構主要查看pinax
  6. simpleavatar模塊部分代碼來自django-avatar
  7. 依賴包除用easy_install在線安裝的外,盡量使用zip包的方式附帶在項目中,減少安裝依賴包的困難。
  8. 遠程部署腳本計劃使用fabric,但fabric本身安裝比較麻煩,所暫未處理。
  9. 項目最早放在googlecode,不過感覺github的功能更強些,所以移了過去。

項目主頁:http://www.baiduhome.net/lib/view/home/1327913579234

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!