::-- ZoomQuiet [2005-12-10 11:49:22]

1. K1日:品尝KarriGell

快速根据PHP 的经验尝试Karrigell 的开发

  • 原先的问卷生成系统,其实就是利用从别处扒来的一组手工写的PHP 的问卷页面,利用Python 组织了一个从 ini 设置文本到PHP 页面的流程
  • 其实从txt -> Python -> PHP -> DB -> Python -> 回答统计,这样的数据流程够傻的

  • 总算有了点儿时间,你又听说Python 有N多好的Web 开发平台就要来使用纯Python 的环境重构出一个可以快捷修改,统计简单问卷的小系统。

1.1. 准备环境

为什么选择KarriGell? 缘分吧…………哈哈哈!

  • 看了KarriGell 的介绍,感觉可以快捷开始,就它了

  • 下载KarriGell

  • 解开,然后:python Karrigell.py

  • bing! 你有了一个展示了各种应用的 KarriGell 站点了!就在 http://localhost/

    • 尝试了一下子在 M$ 和 FreeBSD 平台中,是完全一样的反应!
    • 意味着,只要有Python环境,你随时可以获得一个全功能的Web 应用环境!

1.2. 动手动脚

跟着教程走,随便动一动

  • http://localhost/demo/frame_tour_en.htm 是基础入门的教程,展示了KarriGell 进行 web 开发中最经常要面对的应用实现

  • 你看的懂Python, 当然的,对于 hello 这样的示例已经没有兴趣了,
  • 看过一些前人的体验文章,知道有种 pih 的页面交互方式,最象原先的 PHP 开发

  • 跟着教程,http://localhost/demo/test.pih 你直接修改了两下:

    <h2>HTTP headers</h2>
    <%
    a="是也乎"
    print dir(a)
    %>
    
    • 嗬嗬!!果然和命令行中的反应一样,看来就将KarriGell 想象为面向 Web 的Python 解释器好了!

1.3. 组织开发环境

OK!要可以随时看到教程,同时又有独立的站点空间……

  • 你好容易学习,掌握了 Leo ,而且感觉一切都应该由 Leo 组织才自然
  • 那未就按照直觉来定制KarriGell 一下子:

    • 看了其它人的体验……
    • 其实 KarriGell 的设置非常的简单的,由统一的 ini 文件来设定整体行为

    • 你想要的非常简单,就是将KariiGell 的默许教程站点和你的开发隔离开..

      [Alias]
      # associates an alias to a path on the file system
      # always use / as path separator, even on Windows
      # if you create this alias : doc=c:/Program Files/Karrigell/doc 
      # then the url htpp://host/doc/index.htm will match the file 
      # c:\Program Files\Karrigell\doc\index.htm
      # demo=%(base)s/demo
      doc=%(base)s/doc
      debugger=%(base)s/debugger
      
    • Yeah! 就是这里,非常直观,那未定义一个你自个儿开发的站点目录在 KarriGell 系统目录中就好

      • 嗯嗯……想念Unix 系统中的 link 了!M$ 中你只能真的在其中建立目录
    • Leo 中快速设立好自个儿的工程,组织一个最简单的 index.pih:

      <html><body>
      <%
      a="是也乎"
      print dir(a)
      %>
      </body></html>
      
    • 嗯嗯……为了方便使用 @nosent 操作符 Ctrl+S 就在计划中的目录里生成了文件

    • 对应的,Karrigell.ini 中设定一下

      [Alias]
      ...
      k=%(base)s/karriweb
      q=%(base)s/karriweb/questionnaire
      ...
      
    • OK! 重启一下子KarriGell : Ctrl+C 通用操作,让KarriGell 的Python 进程停止

    • 然后一样的 python Karrigell.py

    • 那未 http://localhost/k

      • 嗬嗬,一切如愿! KarriGell 正如你想象的有了实时的反应,不象CherryPy 你的每次修改,都要重启服务

      • KarriGell 中,就象PHP开发那样,每次修改好后,刷一下子页面,立即你的修改就能显示出来

1.4. 规划目标

  • 好了今天的任务,完成!评估KarriGell的可用性

    • 嗬嗬,其实就是简单的确定 KarriGell 的开发方式

    • 对于简单问卷? 明天,先要完成的是怎么在KarriGell 中读人外部文件,并可以在页面中修改,然后提交保存?