---------------------安装部分----------------------------------------
turboGears的安装还是比较简单的(以下说的所有插件都指Python插件):
1,安装python的最新稳定版本2.5,这样python的插件Setuptools 就默认安装好了,这个tools能够简单的安装归档文件.egg。如果安装的是python2.4,需要手动安装Setuptools。
2,在www.turboGears.org下载tgsetup.py 文件,命令行下运行python tgsetup.py就会安装好turboGears。
3,数据库安装,要是不想使用默认数据库sqlite,那么需要下载Python-Mysql插件进行安装。记住Mysql要已经安装在机器上,否则安装插件时会报错。
-------------------------使用部分-----------------------------------
在安装 TurboGears 之后,我们就应该有了管理工具 tg-admin,命令行中输入 tg-admin 查看它是否存在。
快速启动
要启动 TurboGears 项目,我们需要使用 tg-admin quickstart 功能。我们会被要求提供一个项目名和一个目录名。比如输入Hello World:
这样就在当前目录下创建了Hello-World的目录,
cd Hello-World
start-helloworld.py
就会运行一个测试服务器,通过http://localhost:8080/访问网页就可以看到一个最简单的网站。
turboGears使用MVC的模型,在子目录helloworld下的model.py,controllers.py分别对应M和C,由于主要使用到的是数据库,这里model.py中对应的class相当于数据库中的表,class的成员就是字段。controllers.py则主要进行url的解析以及对应到某个View,这里的View都存放在子目录helloworld/templates下的.kid文件中,kid文件其实是个模板文件,主要是将controllers.py传过来的数据应用到这个模板然后产生相应的html文件再传输给用户。
现在我们创建一个模型(就是在数据库中创建一张表),要配置 TurboGears 数据库,我们需要在 dev.cfg 文件中指定 sqlobject.dburi,这个文件在Hello-World目录下。对于默认的sqlite数据库,已经有了默认的配置,我们要使用mysql,那么就要改成:sqlobject.dburi="mysql://root:123456@localhost/test"
这里的root和123456对应mysql的用户和密码,localhost是机器名,这里使用本机,test是数据库名称,请相应的修改成自己的。记住,test数据库必须已经在mysql中创建出来,并已经授权给用户,这里使用root帐号,免得麻烦。
我们生成一个最简单的表,在model.py中加上class定义:
class HelloTable(SQLObject):
name = StringCol(length=64)
descript = StringCol(length=64)
接着在命令行下使用 tg-admin sql create 命令创建数据库表。记住,创建了project后命令行都是在Hello-World这个目录下进行的,既不是在更上一层创建project的那个目录,也不是在model.py等py文件所在的子目录helloworld。
现在创建了表hello_table,哦,如果不想使用默认的这个表名而想使用自己的命名规则,则这样写:
class HelloTable(SQLObject):
name = StringCol(length=64)
descript = StringCol(length=64)
class sqlmeta:
table = 'myhellotable'
主要是添加了一个内嵌的sqlmeta类,下面有一个table的字符串变量。我这里还是使用最上面的HelloTable类。
如果不想在mysql命令行下插入hello_table数据,可以使用CatWalk 的模型浏览器。
刚才那个目录下输入tg-admin toolbox就可以运行一个网页,选择CatWalk,就可以添加删除表数据了。现在先让我们添一些数据进去吧。
创建视图
在 TurboGears 中,Kid 文件都位于 templates 目录中,扩展名为 .kid。默认情况下,有一个 master.kid 文件和一个 welcome.kid 文件,其中 master.kid 文件是基础模板文件,welcome.kid 就是主页面。我们可以简单的拷贝复制一份welcome.kid改名为hello.kid。
然后将以下这些文本替换原来的文本:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://purl.org/kid/ns#"
py:extends="'master.kid'">
<head>
<title>hello</title>
</head>
<body>
<div id="hellopage">
<ul>
<li py:for="row in list(hellotable)[::-1]">
>
<a href="/hello/${row.id}"
py:content="row .name"></a>
</li>
</ul>
</div>
</body>
</html>
创建控制器
刚才写了一个View,但是要想显示,需要在controllers.py 中暴露接口。以下就是整个
from turbogears import controllers, expose
class Root(controllers.Root):
@expose("helloworld.templates.hello")#hello就是指我们刚才创建的hello.kid名字
def index(self):
from model import HelloTable
hellotable= HelloTable.select()
return dict(hellotable=hellotable)
好了,现在运行start-helloworld.py,然后就可以在http://localhost:8080/中看到hello_table中的所有数据
===============================================================================
2007/12/6
今天看到一个TgFusionCharts的flash显示数据统计图,感觉很好用,先在这里记下来。
先下载SWF文件:到FusionCharts的网站下载最新的文件:http://www.fusioncharts.com,可惜的是它是收费的,给的免费试用版swf文件会产生一条多余的文字信息。
然后到http://www.thesamet.com/TGFusionCharts/下载TgFusionCharts,这是个python插件,安装完以后(注意TgFusionCharts现在仅支持python2.4,主要是其中要用到的cElementTree只支持2.4,所以要用的话,除了使用python2.4外,你需要本机安装vs2003,然后下载cElementTree源代码编译,我本机安装的是vs2005,所以我就简单的重新安装了turbogears到python2.4了事),将FusionCharts下载的文件中的swf都拷贝到turbogears当前工程(我们这里就是helloworld工程)下的Hello-World\helloworld\static\flash下面(注意需要创建flash这个文件夹)。如果你只需要其中某个饼图,那么可以只拷贝这个swf文件到该目录即可。我这里就拷贝其中的Pie2D.swf到该目录下。
然后在controllers.py暴露接口,添加一个expose:
@expose(template="helloworld.templates.first_chart")
def first_chart(self):
chart_widget = Pie2DChartWidget(
chart_id='chart2', width=200, height=200,
chart=SingleSeriesChart(
[6,11,8,3],
caption="提示:")
)
return dict(chart=chart_widget)
记住,如果需要unicode,需要utf-8的编码,并且文件也要保存成utf-8的格式才行。
然后写一个视图first_chart.kid,将welcome.kid拷贝一份改一下名字,清空body中的所有div,然后在其中添加上:${chart()} 就行了。不过要记住这里的chart()要对应controllers.py中传入dict中的那个名字。
保存以后,运行服务器,然后http://localhost:8080/first_chart看看效果吧。
分享到:
相关推荐
tg-admin是TurboGears框架下的命令行工具,提供了创建新项目、管理数据库以及数据迁移等功能,极大地简化了开发前的准备工作。 **2. 创建新项目** 通过执行`tg-admin quickstart`命令,可以快速创建一个新的...
这个离线包是Turbogears 2.0.3版本的官方帮助文档,旨在方便用户在没有网络连接的情况下查阅和学习。 首先,我们来看看这个压缩包中包含的主要文件: 1. **genindex.html**:这是一个生成的全局索引页面,列出了...
TurboGears2是一个基于Python的Web开发框架,它结合了MVC(模型-视图-控制器)架构模式和微框架的概念,旨在提供高效、灵活且易于使用...通过不断学习和实践,你可以利用TurboGears2的强大功能构建出高性能的Web应用。
在这个背景下,Python作为一种灵活且功能强大的编程语言,被广泛应用于Web 2.0应用的开发中。本书通过介绍Django和TurboGears两个主要框架,帮助读者掌握构建高效Web应用程序的技术。 - **Django**:一个开源的高级...
在调试模式下,你可以设置断点,查看变量值,单步执行代码等。 7. **使用launch_tg.py**: `launch_tg.py`通常是TurboGears2应用的启动脚本,它包含了运行服务器的逻辑,可能包括设置数据库连接、配置应用等。通过...
Rapid Web Applications with TurboGears
TurboGears的设计理念在于,允许开发者在需要时使用全功能的框架,而在其他情况下则可以像使用轻量级框架那样工作,这种特性使得它在处理复杂和简单项目时都能游刃有余。 **全栈框架的特性** 作为一个全栈框架,...
中间件允许开发者在不修改核心代码的情况下增强或修改应用的行为。 6. **JavaScript**:虽然涡轮齿轮主要是后端框架,但标签中提到的JavaScript意味着教程可能涉及前端开发。在现代Web应用中,JavaScript用于创建...
TurboGears 既可以用作全栈框架,也可以用作单文件模式下的微框架。 开始尝试 TurboGears,如果您还没有它,只需获取 pip: $ curl -O 'https://bootstrap.pypa.io/get-pip.py' $ python get-pip.py 并安装 ...
通过学习Django和TurboGears,你将能够构建功能丰富、性能优异且易于维护的Web应用程序,满足Web 2.0时代的需求。 总之,本书不仅提供了关于Django和TurboGears的详尽知识,还涉及了与Web 2.0相关的其他重要技术,...
### TurboGear2 学习指南知识点详解 #### 一、TurboGears 2 概述 TurboGears 2 是对原始TurboGears项目的一次彻底重塑,旨在利用最新的组件和技术,并提供一个完全可定制的WSGI(Web Server Gateway Interface)栈...
资源分类:Python库 所属语言:Python 资源全名:TurboGears2-2.1.4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
TurboGears小部件插件的源存储库。 如果您制作了TurboGears小部件,请发送邮件给我,以获取将您的TurboGears小部件放在此处的许可。 从http://www.turbogears.org/cogbin/下载TurboGears小部件
通过这个过程,开发者不仅可以巩固自己的Python Web开发技能,还能学习到如何在不中断服务的情况下进行大规模的技术迁移。无论是为了优化现有系统的架构,还是为了利用Django的最新功能,这样的转换都将是一次宝贵的...
它是在为 TurboGears2 Web 框架提供 Python3 支持的过程中创建的,同时仍然向后兼容现有的 TurboGears 项目。 Gearbox 基于精简版的Cliff命令行框架,您可能需要考虑使用来获取更高级的用例和自定义命令解释器。 ...
官方离线安装包,亲测可用
官方离线安装包,亲测可用
官方离线安装包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装