Zope3中的基础对象说明

Zope对象能帮我们处理不同的任务,不同的对象可处理应用程序中的不同部份。一些对象可保存内容(文本、电子表格和图象等);一些对象可处理逻辑操作,如接收Web表单的输入或执行脚本;一些对象可控制内容的显示,如显示网页、邮件等。

一般来说,基础的Zope对象有以下三类:

内容对象:内容对象可保存各种文本二进制数据,另外,内容对象还可存取外部数据,如系统文件和">关系数据库。

显示对象:Zope提供两种对象来控制网站的显示,一种是DTML,一种是ZPT。两者间的不同点是,DTML同时处理显示和逻辑关系,ZPT则可与表现层分离。

逻辑处理对象:Zope提供了一些工具帮助我们处理商业逻辑。有三种对象可处理进行逻辑处理:DTML,python script,perl script。通过这些对象我们可以改变对象属性、发送信息和邮件、进行条件测试和对某些事进行动态反馈等。DTML对象的分类有些不清,它即可作为显示对象,也可作为逻辑处理对象。我们还可安装第三方的Zope对象来扩展zope的功能。我们通常称这些对象为“产品”

内容对象:Folders,Files,and Images

Folders

  Zope的Folder对象主要用于包含其它对象,包括Folder。文件夹的结构对于安全和显示很重要,建立时需考虑清楚。

Files

  Zope的Files对象包含raw数据,象音频、视频和文档。它还可保存一些Files对象不支持的内容,如Flash文件、Java Applets等。Files对象保存内容时不考虑内容的类型,所以可以用Files对象来保存任意的数据。
每个File对象都有一个叫“content type”的属性,该属性符合MIME标准。如:“text/plain(纯文本)”、“text/html(html格式)”、 “application/pdf(pdf格式)”。当你上传一个文件时,zope会根据文件名自动分配一种MIME类型给“content type”属性。

建立和编辑文件

  从zmi 右上角的对象添加列表中选择“File”,按“Add”。并填上“id”(必填)、“title”(可选)。如果想建立一个空白文件,直接按“Add”即可,如果想上传一个文件,可按“Browse”按钮,从本地选择一个文件上传。文件一旦建立,就可打开进行内容编辑或修改属性。也可通过“upload” 功能通过本地文件更新它。

浏览文件

  编辑和上传完文件后,我们可通过“view”标签来浏览文件内容。当然前提是要zope能识别该文件的类型,否则zope会弹出一个下载窗口,要求你下载该文件。你也可直接通过浏览器显示文件内容,例如有一个放在zope的根目录下的test.pdf文件,你只要在浏览器输入Http://localhost:8080/test.pdf即可!

Images

  Image对象包含如GIF,JPEG,PNG格式的文件,和文件对象很类似,但Image对象包含一些专有的属性,如图像的宽、高等属性。

时间: 2024-10-14 11:28:42

Zope3中的基础对象说明的相关文章

Javascript基础与面向对象基础~第四讲 Javascript中的类对象

今天来说JS中如何实现类(class),事实上本应该昨天晚上写的,可我失言了,在些说一声"抱歉"!JS中的类是JS面向对象的基础,也是我最拿手的东西,你写的代码能否提高一个层次,一般是从这点上看出来的. 占占对类的定义: 类是对现实中的事物的抽象,一个类一般由属性和方法构成,属性是一些固定的信息,而方法是类的某种行为,类往往用来抽象一些复杂的对象,类与类这间可以进行继承,一般通过JS的function实现,JS中的类对象是实现JS面向对象的基础. 占占对结构体的定义: 一个结构体也是对

JavaScript中的其他对象_基础知识

anchors[]; links[]; Link 连接对象 用法:document.anchors[[x]]; document.links[[x]]; <anchorId>; <linkId> document.anchors 是一个数组,包含了文档中所有锚标记(包含 name 属性的<a>标记),按照在文档中的次序,从 0 开始给每个锚标记定义了一个下标. document.links 也是一个数组,包含了文档中所有连接标记(包含 href 属性的<a>

在.Net 中枚举COM对象的方法和属性名称

对象 在.Net 中枚举COM对象的方法和属性名称 Author:Zee 恩,以前满世界问过这个问题,没有人理偶的说,还是自己动手搞定比较好. 一般来说,一个COM对象在提供的时候,通常还会提供一个类型库,在其中定义了COM对象的所有方法名称.参数名称.属性名称等等信息.我们要做的就是从类型库中取出这些信息.当然,某些只供C++程序员使用的COM对象没有类型库,而代之以C++的头文件和/或idl文件,对这种情况,一般没有办法在程序中枚举出对象的方法属性:毕竟去找C++头文件不太现实,何况在非开发

Dojo学习笔记 3. Dojo的基础对象和方法

这里所说的基础对象和方法是指的不Require任何包就能够调用的对象和方法 匿名函数 在开始前,我想介绍一下js里的匿名函数,这个在阅读dojo的源代码的时候,会发现到处都有匿名函数 ;(function(){ alert(123); })(); //前面的分号是一个空语句,是可以不要的 匿名函数.一个匿名函数就是一个没有名字的函数. 你可以认为他们是一次性函数.当你只需要用一次某个函数时,他们就特别有用.通过使用匿名函数,没有必要把函数一直放在内存中,所以使用匿名函数更加有效率. 当然你也可以

在Apache目录服务器中存储Java对象,第2部分:(上)

在 ApacheDS 中存储.搜索和检索 Java 对象 简介:在第 2 部分中将介绍如何在 Apache 目录服务器 (ApacheDS) 中存储 Java 对象, Bilal Siddiqui 将提供 9 个示例应用程序,演示在 第 1 部分 中学习的概念.除 了介绍使用 ApacheDS 存储.搜索.检索和修改 Java 对象的所有步骤之外,Bilal 还将在总结全文时提 供一个可重用的 Java 类,该类可以使用 LDAP 模式组件在 ApacheDS 中将这些功能组合在一起. 在 第

浅谈C++应用程序中创建持久化对象

持久化的对象,是已经存储到数据库或保存到本地硬盘中的对象,我们称之为持久化对象.下面介绍C++中的持久化对象. 持久对象(persistent objects)广泛应用于游戏.分布式数据库系统.多媒体以及图形应用程序中.目前C++并不直接支持持久性(persistence)(但有一些在C++未来版本中添加持久性和反射(reflection)的建议). 持久对象可以在创建它的程序的作用域之外保持自身状态.把对象写入一个文件并在以后重建之,或者把对象传送到一台远程机器,就是这样的例子.对持久性的支持

浅析Ruby中的类对象的概念

  这篇文章主要介绍了Ruby中的类对象的概念,是Ruby学习当中的基础知识,需要的朋友可以参考下 面向对象的程序涉及类和对象. 一个类是蓝本,从个别对象被创建.在面向对象的术语,我们说小明的自行车是被称为自行车类的对象实例. 任何车辆的例子.它包括轮子,马力,燃油或燃气罐容量.这些特点形成的类车辆的数据成员.可以从其他车辆区分这些特征. 车辆也有一定的功能,如停止,驾驶,超速驾驶.即使这些功能形成的类车辆的数据成员.因此,可以定义一个类作为一个组合的特点和功能. 车辆类可以被定义为: ? 1

Java中的基础构建模块(第五章)

Java中的基础构建模块 Java平台类库包含了丰富的并发基础构建模块,例如线程安全的容器类以及各种用于协调多个相互协作的线程控制流的同步工具类. 1.同步容器类 同步容器类都是线程安全的,但在某些情况下可能需要额外的客户端加锁来保护复合操作.常见的复合操作包括:迭代.跳转(在容器内元素之间).条件运算(例如"若没有则添加"). 隐式迭代:某些情况下迭代操作会隐藏起来.如下代码中println调用Set的toString方法,然后对Set中的对象进行迭代调用toString方法: pu

详解Javascript中的Object对象_javascript技巧

Object是在javascript中一个被我们经常使用的类型,而且JS中的所有对象都是继承自Object对象的.虽说我们平时只是简单地使用了Object对象来存储数据,并没有使用到太多其他功能,但是Object对象其实包含了很多很有用的属性和方法,尤其是ES5增加的方法,因此,本文将从最基本的介绍开始,详细说明了Object的常用方法和应用. 基础介绍 创建对象 首先我们都知道,对象就是一组相似数据和功能的集合,我们就是用它来模拟我们现实世界中的对象的.那在Javascript中,创建对象的方