Python论坛系统 LBForum

fmms 13年前
     <p>LBForum 用django开发的论坛系统,演示地址为:<a href="/misc/goto?guid=4959517625693839853">http://vik.haoluobo.com/lbforum/</a> ,界面部分抄的 FluxBB(一个开源的PHP论坛 <a href="/misc/goto?guid=4958867732434777266">http://fluxbb.org/</a> )。 <br /> 虽然Django写的论坛也不少,不过还真没什么好用的。 <br /> 大多Django论坛都是独立的app,而且不少还 缺模板,想我这样有经验的Django用户要跑起来都觉得麻烦,其他普通用户就更别说了。 <br /> LBForum主要注重部署的方便性和易用 性,功能方面目前还比较简单。 <br /> LBForum一开始就是以整站的形式提供,所以以LBForum做为基础项目进行二次开发是很容易的。 <br /> 同时LBForum的开发尽量遵照Django可复用app原则,因此即使需要将LBForum做为独立的app集成到其他项目也并不 会太难。</p>    <h4>主要功能</h4>    <p>目前功能还比较简单,而且还有些小问题有待修正。</p>    <ol>     <li>论坛分类,分版块 </li>     <li>发帖,回帖 </li>     <li>BBCode支持 </li>     <li>置顶贴</li>     <li>使用django admin提供论坛管理功能</li>    </ol>    <h4>用开发服务器把LBForum跑起来</h4>    <ol>     <li>先把代码down下来。LBForum托管在github上,<a href="/misc/goto?guid=4959517625960373830">http://github.com/vicalloy/LBForum</a> 。如果你没有安装git,你可以直接用界面右上方的download <br /> source功能下载代码。 </li>     <li>运行\scripts\create_lbforum_env.py初始化lbforum的python虚拟环境。该脚本会自动创建一个 python的虚拟环境并使用easy_install安装对应的依赖包,同时将一些依赖包解压到对应的目录中。 <br /> 注:django使 用的是svn版本,所以机器上必须要安装有SVN,不然脚本会运行失败。如果因为由于svn的问题导致脚本运行失败,可以运行 lbforum_env.bat进入lbforum环境,手动安装django的svn版本。 </li>     <li>环境初始化好后,运行lbforum_env.bat进入lbforum环境 </li>     <li>运行%mg% syncdb初始化数据库 </li>     <li>运行%mg% runserver启动django开发服务器 </li>     <li>进入admin,创建论坛分类和版块 </li>     <li>进入版块发帖 </li>    </ol>    <h4>LBForum的目录结构说明</h4>    <p>|+lbforum_env/#lbforum运行的python虚拟环境,运行create_lbforum_env.py后自动创建 <br /> |+requirements/#lbforum 用的第三方库和app,运行的时候会将该目录加到python路径 <br /> |~scripts/#工程相关脚本 <br /> | |-create_lbforum_env.py#初始化python虚拟环境,并自动安装easy_install/django依赖库 <br /> | |-helper.py#提供其他脚本所需的辅助函数 <br /> | `-lbforum_env.bat*#启动lbforum运行的虚拟环境及,并为lbforum的manage.py提供快捷方式%mg%,比如初始化 数据库%mg% <br /> syncdb <br /> |~sites/#站点配置/模板/静态文件 <br /> | `~default/#默认站点 <br /> |   |+static/#静态资源文件,如css等 <br /> |   |+templates/#Django模板目录 <br /> |   |+templates_plus/#Django模板目录,用户将自己重写过的目标放到该目录 <br /> |   `-…… <br /> |~src/#django 的app目录 <br /> | |+account/#account相关app。具体站点通常会对用户中心进行定制,所以该app在实际应用中很可能需要针对实际情况进行修改。 <br /> | |+djangohelper/#一些django的辅助函数等, <br /> | |+lbforum/#lbforum的主app,论坛功能都在改app中 <br /> | |+lbregistration/#registration app的lbforum扩展,主要去掉邮件地址认证功能 <br /> | |+onlineuser/#显示在线用户的app(可复用的django app,可脱离lbforum单独使用) <br /> | `+simpleavatar/#头像功能的app(可复用的django app,可脱离lbforum单独使用,依赖djangohelper) <br /> |+tools/#工程用到的辅助工具,目前只有一个virtualenv的脚本</p>    <h4>注:</h4>    <ol>     <li>由于计划在以后做i18n,所以目前只提供英文界面 </li>     <li>django的错误提示是显示在字段后面,fluxbb的错误全部都显示在表单前面。由于模板没有调好,所以目前按照fluxbb的方式显示错 误,所以错误显示有些不太正常。 </li>     <li>bbcode的输入框本想做成自适应大小的,不过也调得有些问题,所以现在输入框的大小固定。 </li>     <li>文档… ,感觉好难写-_-,目前文档不全(项目中没有带任何的文档),日后补上。 </li>     <li>应用程序的目录结构主要查看pinax</li>     <li>simpleavatar模块部分代码来自django-avatar</li>     <li>依赖包除用easy_install在线安装的外,尽量使用zip包的方式附带在项目中,减少安装依赖包的困难。</li>     <li>远程部署脚本计划使用fabric,但fabric本身安装比较麻烦,所暂未处理。</li>     <li>项目最早放在googlecode,不过感觉github的功能更强些,所以移了过去。</li>    </ol>    <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1327913579234" target="_blank">http://www.open-open.com/lib/view/home/1327913579234</a></p>