更新日志
最近一直断断续续地给本系统做更新。由于时间关系,进展比较慢。这一次的更新主要是把后台管理界面重新设计,狠狠地补习了一顿DIV + CSS;还有就是使用上的Ext2.0。Ext和Json交互真的好处多多,在客户端对数据的操作确实非常方便。稍晚的时候将会整理一份Ext的使用心得。下面来些截图,尽管效果不太好 :)。原图太大撑破了布局,麻烦有兴趣的同学点击看大图吧,对不住了。
第一个图:后台主要的风格和Ext的表格。Blogger,WordPress都使用这样的导航菜单,我实在没其他好主意,就依葫芦画瓢了。用Django自定义标签来生成导航还是挺有意思的。

第二个图:分类管理的截图,使用Ext的可编辑表格做D。前后台数据交换方便快捷,爽歪了。

最后一个图了:写文章的截图,FCK的工具栏简化了,并且改用了Office的样式,看起来和总体的蓝色更协调一些。

秀完了。这一次的更新里面只使用了Ext的表格控件,接下来改造设置等功能的时候试一下它的Form控件和Django的Newform。
啊?这个界面让你想吐吗?真抱歉,我有空再继续深造我的CSS去吧。
嘿!自定义面板来了!
今天晚上有时间又给Fallever做了些更新。那就是本博客开始支持自定义面板了。效果请看右边的”我看我听我读“。一句话说明白就是博主可以自已定义一些自己喜欢的小面板放到自己的博客上。下一次更新将把原来系统默认的好几个面板改成真正的面板让用户有选择地显示。
某些人别听成了自定义模板了,这一次是面板,下一次更新的时候就应该是模板了。我对面板(Panel)的定义是博客右边或左边那些一块块如“最新评论”、“标签”这一些。而模板则是整个页面的样子。为彰显个性,我自私点先把自定义面板给作了,可怜的捞就再耐心等一下自定义模板吧。
照旧例还是讲一下实现的过程:
首先是对面板的抽象,Panel即指页面上一些小块的元素,如搜索、最新评论、标签等这些小块都叫做面板(Panel) 。这些面板我将其抽象为模板+数据。
Panel可以分为两种,一种是静态的面板,纯数据,也可想成是纯模板,即是不需要动态生成内容的,由用户将最终的内容 (Html代码)填到Panel中。Panel直接显示这些源码即可。第二种是动态的面板,包括了完整的模板和数据,这些数据是在页面显示期间动态加载并 填充到模板的。
第一种Panel实现容易。而第二种Panel的实现要在请求期间获得数据,必须通过特定的方法(函数)来执行,返回有意义的数据。然后用这些数据来填充模板。而这个函数要接收按某种约定的参数来获取数据,最终应该返回一个字典。第二种Panel的维护和开发通常由博客开发人员来做,而最终用户通常是使用第一种。
由于时间的关系,今天只实现了一种Panel的效果,但在设计上已兼容了第二种。我添加了一个模型Panel,关键属性有Template、Method及Html,Template代表模板,Html代表最终结果,Method是第二种面板运行是获取数据的方法,这个方法要实现了上面说的约定的某个接口,再有就是一些位置相关的属性、标题属性等。模型与表建完之后修改一下Decorator和页面,功能总算可以用了。借Django的管理界面加了一条数据,就是现在看到的豆瓣提供的”豆瓣收藏秀“。
下一次把第二种Panel也实现后贴代码。