简介
LBForum 用django开发的论坛系统,演示地址为:http://vik.haoluobo.com/lbforum/
项目的地址为:http://github.com/vicalloy/LBForum
界面部分抄的 FluxBB(一个开源的PHP论坛 http://fluxbb.org/ )。
虽然Django写的论坛也不少,不过还真没什么好用的。
大多Django论坛都是独立的app,而且不少还缺模板,想我这样有经验的Django用户要跑起来都觉得麻烦,其他普通用户就更别说了。
LBForum主要注重部署的方便性和易用性,功能方面目前还比较简单。
LBForum一开始就是以整站的形式提供,所以以LBForum做为基础项目进行二次开发是很容易的。
同时LBForum的开发尽量遵照Django可复用app原则,因此即使需要将LBForum做为独立的app集成到其他项目也并不会太难。
主要功能
目前功能还比较简单,而且还有些小问题有待修正。
- 论坛分类,分版块
- 发帖,回帖
- BBCode支持
- 置顶贴
- 使用django admin提供论坛管理功能
用开发服务器把LBForum跑起来
- 先把代码down下来。LBForum托管在github上,http://github.com/vicalloy/LBForum 。如果你没有安装git,你可以直接用界面右上方的download
source功能下载代码。 - 运行\scripts\create_lbforum_env.py初始化lbforum的python虚拟环境。该脚本会自动创建一个python的虚拟环境并使用easy_install安装对应的依赖包,同时将一些依赖包解压到对应的目录中。
注:django使用的是svn版本,所以机器上必须要安装有SVN,不然脚本会运行失败。如果因为由于svn的问题导致脚本运行失败,可以运行lbforum_env.bat进入lbforum环境,手动安装django的svn版本。 - 环境初始化好后,运行lbforum_env.bat进入lbforum环境
- 运行%mg% syncdb初始化数据库
- 运行%mg% runserver启动django开发服务器
- 进入admin,创建论坛分类和版块
- 进入版块发帖
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的脚本
注:
- 由于计划在以后做i18n,所以目前只提供英文界面
- django的错误提示是显示在字段后面,fluxbb的错误全部都显示在表单前面。由于模板没有调好,所以目前按照fluxbb的方式显示错误,所以错误显示有些不太正常。
- bbcode的输入框本想做成自适应大小的,不过也调得有些问题,所以现在输入框的大小固定。
- 文档… ,感觉好难写-_-,目前文档不全(项目中没有带任何的文档),日后补上。
- 应用程序的目录结构主要查看pinax
- simpleavatar模块部分代码来自django-avatar
- 依赖包除用easy_install在线安装的外,尽量使用zip包的方式附带在项目中,减少安装依赖包的困难。
- 远程部署脚本计划使用fabric,但fabric本身安装比较麻烦,所暂未处理。
- 项目最早放在googlecode,不过感觉github的功能更强些,所以移了过去。
请问 LBForum 可以在GAE上部署么?
不支持,GAE的限制还是比较多的。
我也做了一个小论坛,现在只能有一个版块,苏州打工网
no linux script?
因为我用的是windows,且对linux并不是太熟悉所以只提供了windows下是shell脚本。
最主要的脚步是create_lbforum_env.py,用来创建lbforum的运行环境。
lbforum_env.bat 这个脚本只是在进入python virtualenv加设置一环境变量而已。
请问你的这个论坛用的是在哪里部署的,好像支持django的主机不太好找,还有django怎么展示树呢
只要主机支持fcgi和python就可以部署django应用。
这类主机在国外还是很容易找的。
我用的是 http://webfaction.com/ 。
树的展示主要还得靠JavaScript和Django的关系不大。
我也做了一个论坛
http://bbs.dztong.com 打算换成django
ubuntu + apache + mod_wsgi部署成功 http://www.qqfire.com
楼主威武!!我也和你一样不会用Linux,哈哈~还在win下跑django~~~没想到像楼主这样编出开源bbs的人物也和我一样在用win,其实打心里特高兴,能和楼主站在同一个阵营里……楼主有想过开发一套教材吗,专门讲解您的bbs是如何设计使用的详解,用连载方式~~~推广这套BBS~其实我心很痒痒,期待楼主未来能出教程的时候一定要告知我一声哦,绝对捧场~
具体用什么操作系统主要看个人习惯。我现在工作用ubuntu,家里用windows。国内的python大牛@limodou也主要用windows。常用的Linux操作还是有必要掌握,因为部署到生产环境的服务器肯定会是*nix系统。
有想过要写一个Django教程,只是写教程是一件非常花精力的事,一直没有动手。
没想到楼主也爱听罗文的江湖路呀~~ 今天算是找到知心人了~20多年来今天第一次看到有人说爱听 ~ ~ 而且还是Django的同僚~哈哈哈~握个手;) 有机会的话也加我豆瓣吧~ http://www.douban.com/people/wangliang6179/
嗯,我也赞同楼主所说的,这些年心里也一直装着Linux呢,就等今年把django弄得扎实点后有时间吧~ubuntu都用虚拟机安装好了,就等着哪天开始研究了~~~顺便说一句,江湖路这首歌很经典,可惜看莲花争霸的真是几乎没有一个,握个手~~楼主你说我这种windows专业户要学ubuntu,能推荐一些学习方法么,期待~
鸟哥的 Linux 私房菜这本书不错。把其中的“Linux 基础文件”看一遍,对linux有个基础的了解。日后整个linux服务器部署自己的应用。接触的多了,自然就慢慢的熟悉了。
谢谢vicalloy~我会从鸟哥私房菜入手的,以后常来你的博客逛逛~如果以后写dj的教程记得第一时间告诉我一声哦~~怕万一不小心错过;)~加油!
你好,首先,非常感谢你的开源精神。
我在git上下载了你的代码,结构和你描写的文档不一样。 看了代码最后更新时间是 7月前,是不是结构变了?应该怎么去部署学习呢?
登录注册的部分到哪儿了呢
LBForum是个可重用APP,为方便集成到其他系统因此没有自带登录注册模块。如果你需要一个带登录注册模块的完整论坛可以使用lbforum-site https://github.com/vicalloy/lbforum-site
请问lbforum中您对静态文件的处理是怎样的, github上:
“# URL prefix for lbforum media — CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: “http://foo.com/media/”, “/media/”.”
这一段没有完善。
我搭建好后, “GET /lbforum/styles/v2ex/default.css” 静态文件请求不能映射到我的静态文件路径
弱弱地问一句,没有找到这个文件呀….
这篇博客已经有些“过时”了,建议直接看项目里附带的readme