| Blog信息 |
|
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7644625 建立时间:2006年5月29日 |

| |
|
[TurboGears]The Web Frameworks Jam and Turbogears 软件技术
lhwork 发表于 2007/2/25 11:57:40 |
| Admittedly it was a small group—eight plus me—but I had as much fun and learned as much as I think I possibly could have, so it didn't really matter. And the small group was actually so nice that I even thought of limiting the size in the future. The manageability alone was great: we could all go to lunch together, hikes were much easier to coordinate, and everyone fit easily into the house and kitchen during barbueques.
It's very probable that the next event, which I hope to hold before |
|
|
[TurboGears]深入觀察 TurboGears 软件技术
lhwork 发表于 2007/2/25 11:21:18 |
許多人以為 TurboGears 能跟 Django 或 Ruby on Rails 比較的地方只是因為一個分散組件, 一個集中開發.
但 TurboGears 好用的地方並不是在它堆砌了許多開源的 python web 專案(如不曾成功過的 subway),而是真正提出了一個整合這些 python web 開發資源的方法. 並提供相當具有 python 風格(pythonic) 的使用方式.
1. Decorator 形式的 Dispatcher
|
|
|
[TurboGears]Karrigell+SQLObject+KID,体验MVC模式 软件技术
lhwork 发表于 2007/2/17 19:25:55 |
近来,web开发热的不得了!quixote,pylons,django,turbogears,web.py还有什么simpleweb难怪有人说
why so many web frameworks
http://bitworking.org/news/Why_so_many_Python_web_frameworks
另外一边,这些frameworks的平台也开始发热cgi,fastcgi,scgi,wsgi等
万般中我独爱karrigell既然mvc那么好,那我也体验下了:
使用sqlobject作为orm管理数据库
使用karrigell作为url dispatch(最好是选 |
|
|
[TurboGears]Turbogears中文文档/20分钟wiki指南/4 软件技术
lhwork 发表于 2007/2/16 12:12:43 |
用户友好的URL 现在已经做好的系统让我不爽的一点是URL不够美观."/Foo"不比"/?pagename=Foo"漂亮的多?幸运的是,要做到这一点很简单 我们只需要在Controller.py里面加一个default方法,无论何时在cherrypy没有其他方法对应URL时就会呼叫这个方法(Cherrypy2.1, CherryPy2.2已经作改动)@turbogears.expose(html="wiki20.templates.page") def default(self, pagename): return self.index(pagename) 现在我们就可以在save方法里改动HTTPRedirect参数为turbogears.url("/%s" % pagename).
怎么处理WiliWords? WiliWords也叫WordsSmashedTogether(挤在一起的几个词).一个典型的wili应该在发现wikiwor |
|
|
[TurboGears]Turbogears中文文档/20分钟wiki指南/3 软件技术
lhwork 发表于 2007/2/16 12:12:08 |
现在来看看第一个页面吧
代码已经准备好...打开浏览器,输入http://localhost:8080/来看看结果怎么样? FT,得到一个错误。因为我们是在开发模式下面,Cherrypy显示出了所有的错误历史.我们可以看到因为一个SQLObjectNotFound异常导致这个错误. 原因很简单,我们还没有往数据库里面存放任何页面,系统当然抛出SQLObjectNotFound异常.现在来亡羊补牢,往数据库里添加数据: 我们用Turbogears特制的Python Shell来做这件事: tg-admin shell Page(pagename="Front |
|
|
[TurboGears]Turbogears中文文档/20分钟wiki指南/2 软件技术
lhwork 发表于 2007/2/16 12:11:42 |
设定数据库 虽然Turbogears需要配置的东西很少,但数据库的设定总归是需要的吧?我们可以在代码中设定,但是quickstart其实 已经帮我们生成必要的ini格式的配置文件了
因为我们现在是在开发环境中而不是发布环境中,所以我们需要编辑"dev.cfg"文件.只需要把对应的sqlobject.dburi 设定取消注释,然后加上必要的信息(host,username,password,数据库名称等等)即可
停止web服务(control-c),然后重新运行启动脚本python wiki20-start.py 创建数据库 既然我们已经在model.py中创建了我们的数据库结构,加上我们又告诉了turbogear数据库的位置(设定数据库),现在就可以真正的创建数据库了tg-admin sql createtg-admin sql命令是对SQLObject库 sqlobject-admin的一个封装,这个命令寻 |
|
|
[TurboGears]Turbogears中文文档/20分钟wiki指南/1  软件技术
lhwork 发表于 2007/2/16 12:11:13 |
注意:因为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 quickstar |
|
|
[TurboGears]Turbogears 不支持 UTF-8? 软件技术
lhwork 发表于 2007/2/16 12:10:14 |
听一个家伙说Turbogears不支持中文,狂FT,我再怎么想都觉得不可能!细查之下,终于明白怎么回事了...
这家伙的经历:他跟着作wiki20时,发现如果是中文的纪录,一到Edit页面就报错,我按他说的做了一下,确实有如下异常:"UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)"看上去是转码问题,系统用的是ascii编码自然不能UnicodeDecode了. 解决办法其实很简单,在site-packages下面添加一个sitecustomize.py文件,添加2句话:import sys sys.setdefaultencoding("UTF-8")这样就搞定了.
但是,突然想起个问题,为什么Edit的时候出问题而在View得时候就正常呢?再看一下代码,原来wiki20用了Kid |
|
|
[TurboGears]How to Deploy TurboGears Applications on BlueHost 软件技术
lhwork 发表于 2007/2/16 12:07:35 |
| I have been a customer of BlueHost (a very friendly web hosting provider) since I’ve created the Python Challenge, about a year ago. A short time later, I’ve added to my account the domain thesamet.com
which I use as my personal homepage and blog. Recently, I’ve started
working with Turbo |
|
|