1. 注意:因为API得改进和本文覆盖的内容更多,本文中的代码可能和screencast中显示的有所出入(default方法和validators的使用)

这篇指南的目的是给你一个用turbogears创建程序得大体流程:从0开始创建一个简单wiki程序 这篇指南需要下面软件和库: docutils0.3.9,用来处理内容格式.你也可以不用docutils,但是那样会没那么好玩.用easy_install docutils就可以搞定安装 浏览器,不要问我用来干什么.. 文本编辑器 2个CMD 1个数据库,没有的话,最简单的就是搞一个Sqlite3.2和pysqlite2.0+ 你得最起码会一点Python.. Quickstart 这篇指南将稍微介绍一下Turbogears得一个命令行程序--tg-admin。第一个要介绍的命令就是"quickstart",用处是把一个新的turbogears的项目的框架和必要文件建起来

你会被要求输入新建项目的名称(起个牛比好听的名字吧)和python包的名称(起个python喜欢的名字..).在这个指南里面,我们用以下名称:

tg-admin会根据你输入的信息在当前目录下创建必要的文件和目录树.用

到新建目录下看下吧 开始服务:NO.1 注意到一个文件叫wiki20-start.py吧?这个就是cherrypy自带服务器的启动脚本,运行一下看看!

用你的浏览器打开http://localhost:8080.

你会看到一个不是很漂亮的欢迎页面.真的不是很漂亮... 很简单吧! 真的很简单!如果你浏览一下quickstart创建的文件,你会发现没有什么东西和创建/运行有关.但是,请注意 2个东西: wiki20/controllers.py包含生成欢迎页面的代码.Cherrypy用起来很简单...你只要编写任意的方法,然后更改expose属性使那些方法 可以被web调用!Turbogears加上了自动模板处理,使得那些方法返回的dictionary的值自动传递到浏览器显示的HTML中 wiki20/templates/welcome.kid 是你看到的欢迎页面的模板.这个模板其实就是一个加上了一些名字空间属性的标准XHTML文件,所以 你甚至可以直接用浏览器查看!User-friendly! 做wiki吧! 如果你对wiki还不是很熟悉,去看看wikipedia就知道了.wiki的基本概念就是一个容易编辑的web内容系统,在这个系统中新页面的创建 页面之间的链接变得非常简单和自动化。 Turbogears像如今其他的web框架一样遵循Model-Controller-View规范.Kid模板是你的View,Cherrypy的类是你的controllers,其他任 何类都可以是models.在Turbogears实际应用中,因为我们用的是数据库,所以SQLObjects将会是我们的model 因为wiki系统主要是用来处理各个页面的,我们就从创建页面数据库开始吧!Turbogears为我们创建了一个'model.py'模块,这个模块足够 我们开始创建model类了.我们的页面(page)类为:

我个人喜欢把玩对象而不是SQL语句.虽然SQLObject支持在已创建的数据库基础上构造对象.但我更喜欢在已构造对象的基础上创建数据库. 对于pagename,我加上了属性alternateID=True,这样即可以保证这个字段的唯一性又可以很简单的进行搜索.因为有一些数据库要求那些需要 被index的字段的长度值,我们就随便给个30啦

tgwiki1 (last edited 2009-12-25 07:08:41 by localhost)