簡介
LBForum 用django開發(fā)的論壇系統(tǒng),演示地址為:http://vik.haoluobo.com/lbforum/
項(xiàng)目的地址為:http://github.com/vicalloy/LBForum
界面部分抄的 FluxBB(一個(gè)開源的PHP論壇 http://fluxbb.org/ )。
雖然Django寫的論壇也不少,不過還真沒什么好用的。
大多Django論壇都是獨(dú)立的app,而且不少還缺模板,想我這樣有經(jīng)驗(yàn)的Django用戶要跑起來都覺得麻煩,其他普通用戶就更別說了。
LBForum主要注重部署的方便性和易用性,功能方面目前還比較簡單。
LBForum一開始就是以整站的形式提供,所以以LBForum做為基礎(chǔ)項(xiàng)目進(jìn)行二次開發(fā)是很容易的。
同時(shí)LBForum的開發(fā)盡量遵照Django可復(fù)用app原則,因此即使需要將LBForum做為獨(dú)立的app集成到其他項(xiàng)目也并不會(huì)太難。
主要功能
目前功能還比較簡單,而且還有些小問題有待修正。
- 論壇分類,分版塊
- 發(fā)帖,回帖
- BBCode支持
- 置頂貼
- 使用django admin提供論壇管理功能
用開發(fā)服務(wù)器把LBForum跑起來
- 先把代碼down下來。LBForum托管在github上,http://github.com/vicalloy/LBForum 。如果你沒有安裝git,你可以直接用界面右上方的download
source功能下載代碼。
- 運(yùn)行"scripts"create_lbforum_env.py初始化lbforum的python虛擬環(huán)境。該腳本會(huì)自動(dòng)創(chuàng)建一個(gè)python的虛擬環(huán)境并使用easy_install安裝對(duì)應(yīng)的依賴包,同時(shí)將一些依賴包解壓到對(duì)應(yīng)的目錄中。
注:django使用的是svn版本,所以機(jī)器上必須要安裝有SVN,不然腳本會(huì)運(yùn)行失敗。如果因?yàn)橛捎趕vn的問題導(dǎo)致腳本運(yùn)行失敗,可以運(yùn)行l(wèi)bforum_env.bat進(jìn)入lbforum環(huán)境,手動(dòng)安裝django的svn版本。
- 環(huán)境初始化好后,運(yùn)行l(wèi)bforum_env.bat進(jìn)入lbforum環(huán)境
- 運(yùn)行%mg% syncdb初始化數(shù)據(jù)庫
- 運(yùn)行%mg% runserver啟動(dòng)django開發(fā)服務(wù)器
- 進(jìn)入admin,創(chuàng)建論壇分類和版塊
- 進(jìn)入版塊發(fā)帖
LBForum的目錄結(jié)構(gòu)說明
|+lbforum_env/#lbforum運(yùn)行的python虛擬環(huán)境,運(yùn)行create_lbforum_env.py后自動(dòng)創(chuàng)建
|+requirements/#lbforum用的第三方庫和app,運(yùn)行的時(shí)候會(huì)將該目錄加到python路徑
|~scripts/#工程相關(guān)腳本
| |-create_lbforum_env.py#初始化python虛擬環(huán)境,并自動(dòng)安裝easy_install/django依賴庫
| |-helper.py#提供其他腳本所需的輔助函數(shù)
| `-lbforum_env.bat*#啟動(dòng)lbforum運(yùn)行的虛擬環(huán)境及,并為lbforum的manage.py提供快捷方式%mg%,比如初始化數(shù)據(jù)庫%mg%
syncdb
|~sites/#站點(diǎn)配置/模板/靜態(tài)文件
| `~default/#默認(rèn)站點(diǎn)
| |+static/#靜態(tài)資源文件,如css等
| |+templates/#Django模板目錄
| |+templates_plus/#Django模板目錄,用戶將自己重寫過的目標(biāo)放到該目錄
| `-……
|~src/#django的app目錄
| |+account/#account相關(guān)app。具體站點(diǎn)通常會(huì)對(duì)用戶中心進(jìn)行定制,所以該app在實(shí)際應(yīng)用中很可能需要針對(duì)實(shí)際情況進(jìn)行修改。
| |+djangohelper/#一些django的輔助函數(shù)等,
| |+lbforum/#lbforum的主app,論壇功能都在改app中
| |+lbregistration/#registration app的lbforum擴(kuò)展,主要去掉郵件地址認(rèn)證功能
| |+onlineuser/#顯示在線用戶的app(可復(fù)用的django app,可脫離lbforum單獨(dú)使用)
| `+simpleavatar/#頭像功能的app(可復(fù)用的django app,可脫離lbforum單獨(dú)使用,依賴djangohelper)
|+tools/#工程用到的輔助工具,目前只有一個(gè)virtualenv的腳本
注:
- 由于計(jì)劃在以后做i18n,所以目前只提供英文界面
- django的錯(cuò)誤提示是顯示在字段后面,fluxbb的錯(cuò)誤全部都顯示在表單前面。由于模板沒有調(diào)好,所以目前按照fluxbb的方式顯示錯(cuò)誤,所以錯(cuò)誤顯示有些不太正常。
- bbcode的輸入框本想做成自適應(yīng)大小的,不過也調(diào)得有些問題,所以現(xiàn)在輸入框的大小固定。
- 文檔… ,感覺好難寫-_-,目前文檔不全(項(xiàng)目中沒有帶任何的文檔),日后補(bǔ)上。
- 應(yīng)用程序的目錄結(jié)構(gòu)主要查看pinax
- simpleavatar模塊部分代碼來自django-avatar
- 依賴包除用easy_install在線安裝的外,盡量使用zip包的方式附帶在項(xiàng)目中,減少安裝依賴包的困難。
- 遠(yuǎn)程部署腳本計(jì)劃使用fabric,但fabric本身安裝比較麻煩,所暫未處理。
- 項(xiàng)目最早放在googlecode,不過感覺github的功能更強(qiáng)些,所以移了過去。