本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

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




[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的一个封装,这个命令寻找在配置文件里的相关信息来连接数据库显示wiki页面简单的无法相信,但我们确实已经做好显示页面的准备了.第一步,把welcome.kid改名为page.kid然后,我们更改page.kid模板的内容<div style="float:right; width: 10em">    Viewing <span py:replace="pagename">Page Name Goes Here</span>    <br/>    You can return to the <a href="/">FrontPage</a>.   </div>    <div py:replace="XML(data)">Page text goes here.</div> 你可以直接用浏览器浏览kid文件.那些占位文字可以帮你提前查看调整页面的布局.Turbogears尽可能的减少了你索要编写的代码量,但不是完全避免.让我们首先在controller.py里加上一些importsfrom model import Page, hub from docutils.core import publish_parts接着,我们改写index方法:1.重新设置模板为page.kid2.设置一个默认的页面名pagename="FrontPage"3.从数据库里读取页面4.格式化取出的文本5.正确处理unicode6.返回文本给模板@turbogears.expose(html="wiki20.templates.page") def index(self, pagename="FrontPage"):    page = Page.byPagename(pagename)    content = publish_parts(page.data, writer_name="html")["html_body"]    return dict(data=content, pagename=page.pagename) 只需要6行代码即可!我们最后返回的字典变量不但为模板提供了数据而且还有其他魔力,我们后面会见识到如果你浏览页面时在publish_parts这一句遇到KeyError错误,那么你就需要更新docutils库到最新版


阅读全文(2827) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144775943 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号