::-- ZoomQuiet [2005-12-11 04:51:21]

1. K5日:随时重构

快速利用已有的所有技巧,重构功能实现

1.1. 悠然 Leo

   Ctrl+`

从来没有如此让你放心过……

"snap-KwDay50.png

1.2. 调整事务响应

将问卷的使用和管理拆分为专门的两个事务页面

1.2.1. 页面间传递对象

当然的,你期望是完整的对象传递,而不用又要判别,记载……

"snap-KwDay51.png

"snap-KwDay52.png

   1 print SPAN(A('> 编辑管理问卷'
   2         ,href="../mana.ks/edit?qp=%s&obj=%s"%(
   3             qpname
   4             ,base64.urlsafe_b64encode(
   5                 pickle.dumps(sess.usr))
   6                 )
   7             )
   8         ,id="mana")

在 问卷回答界面中追加一个编辑的链接就好

"snap-KwDay5css.png

1.3. 重构编辑流程

当然的所谓 mana.ks 事务页面就是要代替以前使用7个文件完成的问卷编辑流程

1.4. 历史版本

习惯的Wiki的反悔模式,当然的也想自个儿弄一个

"snap-KwDay53.png

1.4.1. 关键代码

   1 qnow = fnmatch.filter(os.listdir(conf.qpage.qpath)
   2                        , '%s.cfg.*'%sess.usr["qp"])
   3 print "<UL>"
   4 qnow.reverse()
   5 for l in qnow:
   6     s = l.split(".")
   7     print LI(A("""%s 
   8              <sup>%s/%s/%s %s:%s:%s 版本</sup>"""%(s[0]
   9              ,s[-1][:2]
  10              ,s[-1][2:4]
  11              ,s[-1][4:6]
  12              ,s[-1][6:8]
  13              ,s[-1][8:10]
  14              ,s[-1][10:]
  15              ),href="edit?his=%s"%s[-1]
  16                 )
  17              )
  18 print "</UL>"

老技巧,使用 fnmatch 模块将吻合模式的文件搜索为一个列表对象

snap-KwDay54.png

1.4.1.1. 进一步的

突然你想列出各版本的内容多少差异……

snap-KwDay5ST.png

snap-KwDay5his.png

1.4.2. 可变参数的意义

"snap-KwDay5errorVar.png 这总是会出参数不匹配的错误

1.5. 明日任务

哇呀呀!没有想到再古怪的想象,KarriGell 都支持!接下来……

1.6. 实例下载

使用 SVN 下载:

1.7. 讨论


返回 KarrigellWebDev -- 快速体验K开发

KwDay5 (last edited 2009-12-25 07:19:11 by localhost)