转:Zope tutorial 学习笔记
speakitnow
|
1#
speakitnow 发表于 2008-03-12 10:21
转:Zope tutorial 学习笔记Zope tutorial 学习笔记 推荐好文 评价 出处:ringkee.com 作者:Jims 更新时间:2007-09-01 原文 Abstract 以下笔记是我看zope tutorial时记录下来的,该指南是zope系统自带的,用来做为入门教材很好。 Table of Contents 1. my home page 2. 建立网站通用信息 3. 显示对象内容 4. 显示和上传图片 5. 为访问者提供个性化信息 6. 信息反馈 7. 连接数据库 1. my home page Zope 的一个主要特点是可在线编辑,它提供一个管理界面(zmi),位置在http://localhost/manage,我们可以通过浏览器登录进来,进行 系统管理和开发。zmi管理界面左面有一个导航器,操作简单明了。右面是对象列表和相关属性。右上方有一个对象添加列表,我们可以通过该功能添加你自已的 对象。 为了进行测试,我新建了一个home文件夹。方法是在右上面的“select type to add...”框中选择“Folder”对象,在新建窗口填上id和title,id是一定要填的,代表你添加的对象的标识,title是可选的,只是代 表这个对象的一种属性。Create public interface和Create user folder也是可选的,如果选择了话就会在你新的文件夹中自动建一个名为index_html的DTML文档和一个acl_users文件夹。前者相当 于该目录的默认页面,后者是该文件夹的用户管理文件夹。在这里我们在id栏上填上“home”,title栏也填上“home”,Create public interface和Create user folder就不选了。好了,现在我们就有了一个用于学习的目录了。 现在 zope最新的页面语言是zpt(zope page template),所以我用zpt来做我的home page。进入home文件夹,在“select type to add...”中选择“page template”对象进行添加。在新建页面的id栏上填上“home.html”,title栏上填上“zope home page”,按“add”完成对象添加。现在home目录中就有了一个home.html的文件了,单击可以打开进行编辑。在正文栏中输入以下代码 Welcome to title, this my zope tutorial,I like zope,I like python too. another test page in my zope site is zoo zoo 显示logo图片 用"template/title"值(zope home page)替换title。 建立一个到zoo目录的链接。 2. 建立网站通用信息 在网站上,可能有一些信息每页都会有的,比如你的logo、邮件地址、标题等。如果每个页面都要重写一次就很麻烦,我们可以定义一个标准的模板文 件,在每个需要显示的页面上包含它就可以。在zope中,这个模板文件standard_template.pt。现在我们设置一个邮件地址,并使它可在 每个页面显示,步骤如下: 进入当前文件夹(home)的 “Properties”标签,增加一个属性,名字(name)为“mail_link”,类型(type)为“string”,值(value)为 “mailto:xxx@xxx.xxx”,最后点击添加(Add)完成。这样,你就建立了一个“mail_link”属性,这个属性可用于整个网站。
4. 显示和上传图片 显示图片和上面的显示代码一样,上传图片的代码如下: title Upload a picture to the Elvis Photo Archive. File: Title: 这里还牵涉到一个action.py脚本,用来执行添加图片文件的功能,脚本内容如下: """ Create a new image in the photo archive folder. Then return a confirmation page. """ folder=container['photo'] folder.manage_addImage(id='', file=file, title=title) page=container['thanks.html'] return page() 把file和title两个参数填到parameter栏中,中间用逗号分隔。photo是存放图片的文件夹,文件夹的manage_addImage方法可在文件夹中添加jpeg、gif、png等图片;thanks.html是成功提交后重定向的页面。 5. 为访问者提供个性化信息 如果网站上有大量的信息,访问者就只会关心一些最新的内容,我们可以在显示信息时提示访问者哪些是新的内容。代码如下: title lastVisit">New Sighting goes here
lastVisit.py脚本内容如下: """ Returns the time of the last visit as a DateTime object. Also sets records the current time in a cookie. """ request = container.REQUEST if request.cookies.has_key('lastVisited'): # retrieve the last visit time from the cookie last=request.cookies['lastVisited'] else: # there's no cookie so pick a time in the past last='1/1/1999' # convert the date string to a DateTime object last=DateTime(last) # finally set current time in the cookie request.response.setCookie('lastVisited', DateTime()) # return time of last visit return last lastVisited为cookies,保存了最近访问的时间。DateTime()函数可获得当前的时间。 6. 信息反馈 如果你对网站有意见,我们可提供一个信息反馈的功能。访问者可在上面写意见,并把意见以邮件的形式发送到指定邮箱。
## insert.py ## # get sql method insert=container['insert'] #get the max topic_id a=context.s_max_topic_id() if a[0][0]
## insert Z SQL Method ## insert into test (topic,author,cont,submit_last,topic_id) values( , , , , )
好了,zope tutorial的内容就介绍在这里,这只是zope的入门,让大家对zope有一个大概的了解,如果要用zope进行开发还需要大量有关zope对象、API和python的知识。 |