Differences between revisions 7 and 8
Revision 7 as of 2006-07-23 16:11:46
Size: 3413
Editor: jejwe
Comment:
Revision 8 as of 2006-07-23 16:13:37
Size: 3814
Editor: jejwe
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 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的项目的框架和必要文件建起来 }}}
{{{
tg-admin
quickstart}}}
{{{
你会被要求输入新建项目的名称(起个牛比好听的名字吧)和python包的名称(起个python喜欢的名字..).在这个指南里面,我们用以下名称: }}}
{{{
Enter project name: Wiki 20
Enter package name [wiki20]:
wiki20}}}
{{{
tg-admin会根据你输入的信息在当前目录下创建必要的文件和目录树.用 }}}
{{{
cd
wiki20}}}
{{{
到新建目录下看下吧
开始服务:NO.1
注意到一个文件叫wiki20-start.py吧?这个就是cherrypy自带服务器的启动脚本,运行一下看看! }}}
{{{
python wiki20-start.py}}}
{{{
用你的浏览器打开
很简单吧!
真的很简单!如果你浏览一下quickstart创建的文件,你会发现没有什么东西和创建/运行有关.但是,请注意
2个东西:
wiki20/contro
llers.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)类为:
}}}
{{{
}}}
你会看到一个不是很漂亮的欢迎页面.真的不是很漂亮...
[:#:注意:因为API得改进和本文覆盖的内容更多,本文中的代码可能和screencast中显示的有所出入(default方法和validators的使用)这篇指南的目的是给你一个用turbogears创建程序得大体流程:从0开始创建一个简单wiki程序这篇指南需要下面软件和库:docutils0.3.9,用来处理内容格式.你也可以不用docutils,但是那样会没那么好玩.用easy_install docutils就可以搞定安装浏览器,不要问我用来干什么..文本编辑器2个CMD1个数据库,没有的话,最简单的就是搞一个Sqlite3.2和pysqlite2.0+你得最起码会一点Python..Quickstart这篇指南将稍微介绍一下Turbogears得一个命令行程序--tg-admin。第一个要介绍的命令就是"quickstart",用处是把一个新的turbogears的项目的框架和必要文件建起来 ][javascript:void(0);/*1153668260000*/ tg-admin quickstart]
[javascript:void(0);/*1153668260000*/ 你会被要求输入新建项目的名称(起个牛比好听的名字吧)和python包的名称(起个python喜欢的名字..).在这个指南里面,我们用以下名称: ][javascript:void(0);/*1153668260000*/ Enter project name: Wiki 20Enter package name [wiki20]: wiki20][javascript:void(0);/*1153668260000*/ tg-admin会根据你输入的信息在当前目录下创建必要的文件和目录树.用 ][javascript:void(0);/*1153668260000*/ cd wiki20]
[javascript:void(0);/*1153668260000*/ 到新建目录下看下吧开始服务:NO.1注意到一个文件叫wiki20-start.py吧?这个就是cherrypy自带服务器的启动脚本,运行一下看看! ][javascript:void(0);/*1153668260000*/ python wiki20-start.py]
[javascript:void(0);/*1153668260000*/ 用你的浏览器打开http://localhost:8080.]
Line 54: Line 6:
我个人喜欢把玩对象而不是SQL语句.虽然SQLObject支持在已创建的数据库基础上构造对象.但我更喜欢在已构造对象的基础上创建数据库. 对于pagename,我加上了属性alternateID=True,这样即可以保证这个字段的唯一性又可以很简单的进行搜索.因为有一些数据库要求那些需要 被index的字段的长度值,我们就随便给个30啦. [javascript:void(0);/*1153668260000*/ 你会看到一个不是很漂亮的欢迎页面.真的不是很漂亮...很简单吧!真的很简单!如果你浏览一下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)类为: ]

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

[:#:注意:因为API得改进和本文覆盖的内容更多,本文中的代码可能和screencast中显示的有所出入(default方法和validators的使用)这篇指南的目的是给你一个用turbogears创建程序得大体流程:从0开始创建一个简单wiki程序这篇指南需要下面软件和库:docutils0.3.9,用来处理内容格式.你也可以不用docutils,但是那样会没那么好玩.用easy_install docutils就可以搞定安装浏览器,不要问我用来干什么..文本编辑器2个CMD1个数据库,没有的话,最简单的就是搞一个Sqlite3.2和pysqlite2.0+你得最起码会一点Python..Quickstart这篇指南将稍微介绍一下Turbogears得一个命令行程序--tg-admin。第一个要介绍的命令就是"quickstart",用处是把一个新的turbogears的项目的框架和必要文件建起来 ][javascript:void(0);/*1153668260000*/ tg-admin quickstart] [javascript:void(0);/*1153668260000*/ 你会被要求输入新建项目的名称(起个牛比好听的名字吧)和python包的名称(起个python喜欢的名字..).在这个指南里面,我们用以下名称: ][javascript:void(0);/*1153668260000*/ Enter project name: Wiki 20Enter package name [wiki20]: wiki20][javascript:void(0);/*1153668260000*/ tg-admin会根据你输入的信息在当前目录下创建必要的文件和目录树.用 ][javascript:void(0);/*1153668260000*/ cd wiki20] [javascript:void(0);/*1153668260000*/ 到新建目录下看下吧开始服务:NO.1注意到一个文件叫wiki20-start.py吧?这个就是cherrypy自带服务器的启动脚本,运行一下看看! ][javascript:void(0);/*1153668260000*/ python wiki20-start.py] [javascript:void(0);/*1153668260000*/ 用你的浏览器打开http://localhost:8080.]

[javascript:void(0);/*1153668260000*/ 你会看到一个不是很漂亮的欢迎页面.真的不是很漂亮...很简单吧!真的很简单!如果你浏览一下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)类为: ]

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

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