Simpblog 测试中
2008年06月08日 00:30
Simpblog,一个用Pylons搭建的简易blog系统。初步完成了。
使用的框架是Pylons+SQLAlchemy+SQLite3。
前台使用Mako渲染,使用了Jonas John创作的CSS风格模版。
管理界面使用AuthKit做权限验证。
没有使用可视化的编辑器,使用了CreoleWiki语法,并使用MoinMoin的Creole Wiki分析脚本及HTML generator产生对应的HTML代码。
RSS使用PyRSS2Gen生成。
目前该系统还在内部测试阶段,如果发现bug,欢迎及时回报。
------------这是胡言乱语的分割线-------------
Pylons的开发还算是很快捷的,我从打算到开始动手到测试不过几天的时间。当然这跟SimpBlog的模型简单也有关系。
最初的设想是做一个庞大的框架,可是真正动手的时候,想法变了很多,我希望这个东西是能够尽快出来然后边测试边修改边增强功能,如果实现太复杂太庞大,可能在我激情消退之前都还出不来。于是就尽量快的写了一个。说它是原型也好,如果真的投入使用,也是可以不断调整的──事实上在开发过程中数据模型和想法已经做了很多改变──改变并不是坏事,我觉得。
这次在开发中尝试了AuthKit。发现AuthKit并没有想像中的复杂。如果使用得当,是可以轻易的实现很强大的授权和验证工作的。我喜欢。
Pylons的部署和开发,真是两个完全不同的概念。为了简化部署动作,我在服务器端也安装了完整的Pylons环境及其它支撑库。然后通过svn直接check代码到目标路径,用一个脚本自动运行。这样做的确是省了很多事,但令我意想不到的是,使用lighttpd的proxy之后,由于不是根目录,我的很多代码出现了问题。
首先需要解决的是一个共性问题:如何将带路径的url自动映射。幸好Pylons使用的部署工具PasteDeploy已经考虑到了这个问题。只要在development,ini的[app:main]小节增加
filter-with=proxy-prefix
并增加[filter:proxy-prefix]小节:
use = egg:PasteDeploy#prefix prefix = /testblog
就可以了。
但是不久就发现还是有很多路径错误,原来Pylons里所有的路径都必须经由h.url_for封装,才能被prefix过滤器处理,直接写的URL是不会被处理的。于是又将模版中所有路径改写成h.url_for形式的。终于大功告成。
没有评论
