升级1.3其实是自己早就想作的事了,更新内容不少,不过对自己而言尤其重要的3点更新是:
1:ContentFile的支持,可以在后端直接从request里读文件了,也就是说支持纯ajax上传了。
2:原生Logging的支持,之前Django必须用三方的logging组件,现在可以用python原生的logging机制了。
3:支持多数据库和某新兴的pylibmc。
对于2和3是自己一直期待已久的东西,其实还有多数据库和多cache的支持,这个对于大型站点而言可谓是重中之重口牙,django越来越成熟了,happy~
废话完毕。借着这次更新1.3,自己把之前一直边唾骂边在用的uploadify给换掉了(这丫就一个坑爹插件,win下莫名奇妙crash,mac下直接io error,linux下也总有奇怪的惊喜),从而启用纯javascript上传的ajax插件File Uploader,从此以后不用担心浏览器再crash了之类的了,太好了。。。(其实自己曾经下了个决心,我要学会用flash写点snippet,结果翻了flex4不到5分钟,就扔一边了,语法来说,flash很正统不像某肥猪流语言,不过,表现上,还有复杂度上,还有效率上,这东西根本不配用这么高的复杂度来写,我个人宁愿用scriplet)
表情方面纠结来纠结去,最后用了2个小时把django的插件smiley进行了扩充,添加了views和前台的加载表情脚本。过一阵进行简单的抽象后可以放出来进行复用。没有扩用RazerGallery来写表情也是因为怕这样作会导致项目的耦合性过高最终会影响单元测试。
正则过滤评论也写完了,不过没用用正则来实现,而是通过BeautifulSoup来进行HTML分析和净化,没有对特殊符号进行替换。原因,有不少,其实从我个人因素,我更喜欢bbcode,而不是标签,尤其是对于复杂度很高的并且可能带有恶意尝试任意三方输入来讲。不过还是通过这个进行一个尝试吧,如果实在不行以后再作替换好了,暂时就先这样了。
也就是说,这个项目目前唯一还坑着的就是一个围脖系统和一个文件发布管理平台。这2个系统从逻辑上来讲则并不属于RazerBlog的项目范围内,算是协同作业吧,以后陆续抽时间会完成他们。
于是可以说,到现在为止,RazerBlog就彻底竣工了。构建前理想的功能目前也全部包括了,至于pingback,我暂时还想不到这东西对我有什么意义,所以,暂时就先不管它了。
之后的闲暇作业就是陆续把项目中自己整理的几个应用从程序中分离出来,实现复用,整理文档备后需。还有就是数据导出供Wordpress导入。
除此之外就是发生以外时的debug(这个才是噩梦)