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

用 C 扩展 Python 和 Zope

 2008-09-30 13:06:49 来源:WEB开发网   
核心提示: 一个脚本基本上就是一个短小的 Python 程序,它可以定义类或函数,用 C 扩展 Python 和 Zope(6),但不是必须的,它被作为对象安装在 Zope 文件夹中,这意味着为了测试,您必须能够停止和重新启动 Zope 进程),然后就可以把它当作 DTML 变量或调用(就像一个外部方

一个脚本基本上就是一个短小的 Python 程序。它可以定义类或函数,但不是必须的。它被作为对象安装在 Zope 文件夹中,然后就可以把它当作 DTML 变量或调用(就像一个外部方法)来调用或者“从 Web 中”(在 Zope 中的意思就是它将被当作页来调用)调用它。当然,这意味着脚本可以像 CGI 程序那样生成对表单提交的响应,但却没有 CGI 的开销。确实是一个很棒的功能。此外,脚本有权访问被调用者或调用者对象(通过“context”对象)、对象所在的文件夹(通过“container”对象)和其他一些零碎信息。要获得更多关于脚本的知识,请参阅 Zope 手册(请参阅 参考资料)中的“高级 Zope 脚本编制(Advanced Zope Scripting)”那一章。

您可能会错误地认为可以直接从脚本简单地导入 foo 并使用 foo.bar(我知道我确实犯过这种错误)。但事实并非如此。由于安全性限制,只有 Product 可以被导入,而不是什么模块都可以。一般而言,Zope 的设计者们认为任何脚本编制都需要访问文件系统,既然脚本对象是由 Web 使用 Zope 管理界面来管理,所以它们不是完全可信的。所以我打算就此打住,不给您展示示例脚本了,而是来讨论 Product 和基础类。

专注于 Product

Product 是扩展 Zope 的强大工具方法。从安装目录的级别来看,Product 就是位于 Zope 目录下的“lib/python/Products”目录中的一个目录。在您自己的 Zope 安装目录中,您可以看到很多 product 示例,但本质上,最小的 Product 只由位于该目录的两个文件组成:一个可任意命名的代码文件和一个 Zope 在启动时调用来初始化 Product 的称为 __init__.py 的文件。(请注意:Zope 只在启动时读取 Product 文件,这意味着为了测试,您必须能够停止和重新启动 Zope 进程)。本文只是尽量多提供一些您能通过使用 Zope Product 做到的事的提示。

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

Tags:扩展 Python Zope

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