WEB开发网
开发学院软件开发Python 用 C 扩展 Python 和 Zope 阅读

用 C 扩展 Python 和 Zope

 2008-09-30 13:06:49 来源:WEB开发网   
核心提示: 当然,您自己的应用程序可以使用这些方式的组合,用 C 扩展 Python 和 Zope(5),创建外部方法从 Zope 调用 Python 的最简单的方式是把您的 Python 代码做成 外部方法,外部方法是被放到 Zope 安装目录下的“Extensions”目录

当然,您自己的应用程序可以使用这些方式的组合。

创建外部方法

从 Zope 调用 Python 的最简单的方式是把您的 Python 代码做成 外部方法。外部方法是被放到 Zope 安装目录下的“Extensions”目录中的 Python 函数。一旦那里有了这样一个 Python 文件,您就可以转到任意文件夹,选择“添加外部方法”,并添加调用要使用的函数的变量。然后您就可以往该文件夹中显示调用结果的任意页添加 DTML 字段。我们来看一个使用了上面所定义的 Python 扩展 ― foo.bar ― 的简单示例。

首先,来看扩展本身:我们把它放到一个例如叫 foo.pyd 的文件中。记住,这个文件位于 Zope 下的 Extensions 目录。为了能够顺利进行,当然,我们在上面创建的 foo.pyd 必须在位于 bin/lib 的 Python 库中。一个出于这个目的的、简单的包看起来可能像这样:

清单 3. 一个简单的外部方法(文件:Extensions/foo.py)

import foo
def bar(self,arg):
  """A simple external method."""
  return 'Arg length: %d' % foo.bar(arg)

很简单,不是吗?它定义了一个可以用 Zope 管理界面附加到任意文件夹的外部方法“bar”。要从该文件夹中的任何页中调用我们的扩展,我们只需简单地插入一个 DTML 变量引用,如下所示:

 <dtml-var bar('This is a test')>

当用户查看我们的页时,DTML 字段将被文本“Arg length: 14”代替。我们就这样用 C 扩展了 Zope。

Zope 脚本:Cliff Notes 版

Zope 脚本是 Python 2.3 的一个想用来代替外部方法的新功能。外部方法能做到的,它都能做到,而且它能和安全性及管理系统更好地集成,在集成方面提供更多的灵活性,它还有很多对 Zope API 中公开的全部 Zope 功能的访问。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:扩展 Python Zope

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接