最近体验了一把 web.py 开发的便捷。

建议在看 web.py 的 cookbook 之前,对 http 协议的 get 方法和 post 方法先了解一下,html 最好也要有基本的知识。

web.py 的工作流程,一般是从 URL 映射开始,然后把请求分派给不同的处理类处理,处理类比较像一个粘合层,负责从数据层拿数据,以及告诉 render 如何形成最后的页面效果。同时,它也负责控制整个交互的过程。数据层封装了数据库相关的操作,有了它,可以很方便的更换不同的数据库。当然,在具体的字段属性上,可能会有一定的差异,需要注意一下。

render 是一个模板渲染系统,它使 html 变成了类似函数一样的东西,可以通过变量填充形成最终的页面。通过 $ 符号,就能直接在 html 中写 python 语句,方便扩展功能。 为了控制网站的整体风格,可能需要一个统一的 layout.html 和 css 去控制一些公共的框架。

因此,遇到问题的时候,请从 URL 映射开始,遵循工作流程查找问题所在。特别是 500 服务器内部错误,很有可能是改动的时候只改了一处地方,相配合的负责展现的 html 模板或者数据层没有进行对应的修改。

参考:http://webpy.org 建议参照 tutorial 和 cookbook 动手做做, 还是挺有趣的。另外,codeExample 还有几个比较简单的例子可以参考,有助于快速建立自己的应用。我的留言板也参考了里面的 blog 例子。python 自带了 web server,所以即使你没有安装 Apache 之类的,还是能直接访问到自己的成果。

  若遇到 attributeError 的问题,可以参考上一篇我的上一篇 文章 ,主要是 web.py 0.3 的某些调用方式改变了,而 webpy.org 的例子还是 0.2 版本。