## page was renamed from KarrigellWebDev/KwfDay1 ## page was renamed from zhArticleTemplate ##language:zh #pragma section-numbers on ::-- ZoomQuiet [<>] <> = K1日:品尝KarriGell = '''快速根据PHP 的经验尝试Karrigell 的开发''' * 原先的问卷生成系统,其实就是利用从别处扒来的一组手工写的PHP 的问卷页面,利用Python 组织了一个从 ini 设置文本到PHP 页面的流程 * 其实从txt -> Python -> PHP -> DB -> Python -> 回答统计,这样的数据流程够傻的 * 总算有了点儿时间,你又听说Python 有N多好的Web 开发平台就要来使用纯Python 的环境重构出一个可以快捷修改,统计简单问卷的小系统。 == 准备环境 == '''为什么选择KarriGell? 缘分吧…………哈哈哈!''' * 看了KarriGell 的介绍,感觉可以快捷开始,就它了 * 下载KarriGell * 解开,然后:`python Karrigell.py` * bing! 你有了一个展示了各种应用的 KarriGell 站点了!就在 http://localhost/ * 尝试了一下子在 M$ 和 FreeBSD 平台中,是完全一样的反应! * 意味着,只要有Python环境,你随时可以获得一个全功能的Web 应用环境! == 动手动脚 == '''跟着教程走,随便动一动''' * http://localhost/demo/frame_tour_en.htm 是基础入门的教程,展示了KarriGell 进行 web 开发中最经常要面对的应用实现 * 你看的懂Python, 当然的,对于 hello 这样的示例已经没有兴趣了, * 看过一些前人的体验文章,知道有种 `pih` 的页面交互方式,最象原先的 PHP 开发 * 跟着教程,http://localhost/demo/test.pih 你直接修改了两下:{{{

HTTP headers

<% a="是也乎" print dir(a) %> }}} * 嗬嗬!!果然和命令行中的反应一样,看来就将KarriGell 想象为面向 Web 的Python 解释器好了! == 组织开发环境 == '''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:{{{ <% a="是也乎" print dir(a) %> }}} * 嗯嗯……为了方便使用 `@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开发那样,每次修改好后,刷一下子页面,立即你的修改就能显示出来 == 规划目标 == * 好了今天的任务,完成!'''评估KarriGell的可用性''' * 嗬嗬,其实就是简单的确定 KarriGell 的开发方式 * 对于简单问卷? 明天,先要完成的是怎么在KarriGell 中读人外部文件,并可以在页面中修改,然后提交保存?