Python 框架TurboGears 2 入门文档《Wiki Tutorial》翻译校正,原文地址:Whett
Python 框架TurboGears 2 入门文档《Wiki Tutorial》翻译校正,原文地址:Whett
本文是Python TurboGears 2框架的入门文档《Whetting the Appetite: make a Wiki in 20 Minutes》的简单翻译,并对一些文档中笔误或出错的地方做简单的校正。
原文地址:Whetting the Appetite: Make a Wiki in 20 Minutes
※注意:因TurboGears 项目是一个 “大框架(megaframework)”,也就是说它是由现有的子项目构成的。所以,不同版本的TurboGears 会采用不同的组件集成(你也可以自定义),由此也产生一些因组件升级,导致用法不同的问题。上文的链接导向最新的文档说明,可能在您看到该文档时已经有新的改变,请留意。或者,采用下面文档备份:点击这里下载文件
一、安装
TurboGears 2 基于Python 2.6 或 2.7版本,可通过pip 安装。这里以红旗Asianux 4.0 SP2 为操作平台说明。
1. 安装pip
# easy_install pip
2. 安装独立运行环境
为了避免污染现有运行环境,这里安装一个虚拟运行环境,然后再安装TurboGears 2框架。
# pip install virtualenv # virtualenv tg22env # . tg22env/bin/activate
由此,将进入虚拟运行系统中:
(tg22env)[root@iscsi-server ~]#
3. 安装TurboGears2
(tg22env)[root@iscsi-server ~]# pip install -i http://tg.gy/current tg.devtools
这将从官网下载最新的TurboGears2 ,我当前使用的是TurboGears2-2.2.2-py2.6.egg-info 版本。
二、快速开始
1. 创建基础架构
TurboGears2 提供一整套的工具paster 协助开发,可用于快速搭建基础平台:
(tg22env)# paster quickstart Enter project name: Wiki 20 Enter package name [wiki20]: Would you prefer to use an alternative template system? (m=mako, j=jinja, k=kajiki, n=no [default]): Do you need authentication and authorization in this project? ([yes]/no):
构建的目录如下:
~/tg22env/Wiki-20/wiki20
其中,Wiki-20 是项目根路径位置,其内容如下:
Wiki-20 ├── development.ini <- 开发环境相关配置文件 ├── ez_setup ├── MANIFEST.in ├── migration ├── README.txt ├── setup.cfg ├── setup.py <- 配置脚本 ├── setup.pyc ├── test.ini ├── wiki20 <- 项目位置 └── Wiki_20.egg-info
wiki20 是项目名称,其内容如下:
2. 下载依赖库软件
TurboGears 直接采用第三方的库框架,所以需要下载这些依赖的库软件包。它们是由Wiki-20/setup.py 配置文件决定的,本项目wiki 需使用docutils 类,所以要编辑该文件,内容如下:
install_requires=[ "TurboGears2 >= 2.2.2", "Genshi", "zope.sqlalchemy >= 0.4", "repoze.tm2 >= 1.0a5", "sqlalchemy<0.8b1", "sqlalchemy-migrate", "repoze.who", "repoze.who-friendlyform >= 1.0.4", "tgext.admin >= 0.5.1", "repoze.who.plugins.sa", "tw2.forms", "docutils", ]
蓝色部分是新加的内容,然后用pip 下载安装:
(tg22env)[root@iscsi-server Wiki-20]# pip install -e .
※ 注意:当前路径是Wiki-20 目录。
3. 启动Web 服务
TurboGears2 提供一个建议的Web 服务,可用于快速测试,默然监听在127.0.0.1。可修改development.ini 配置文件:
[server:main] use = egg:paste#http host = 192.168.228.180 # ip 地址 port = 8080
启动服务:
(tg22env)[root@iscsi-server Wiki-20]# paster serve development.ini --reload &
Starting subprocess with file monitor
Starting server in PID 6185.
serving on http://192.168.228.180:8080
可能会有些DeprecationWarning 的报错,这是因为某些库更新后,用法改变导致的,通常影响不大。
※ 注意:运行路径在Wiki-20 根目录下。
打开浏览器,访问http://ip:8080/
至此,基本平台已搭建完毕,后面就可以进行开发的工作了。
三、控制器和视图
TurboGears 与大多基于MVC 架构的框架都是类似的,由数据模型——视图——控制器三部分组成。
1. 控制器部分
基础控制器是Wiki-20/wiki20/controllers/root.py 文件:
class RootController(BaseController):
其中,@expose 表示使用哪个视图模板:
@expose('wiki20.templates.index')
评论暂时关闭