0

我无法让一个简单的外部方法在 plone 中正常工作。在我的扩展文件夹中,我有一个名为 blast_query.py 的 Python 脚本,代码如下:

def print_query(self, x):
    print(x)

我的外部方法如下所示:

编号:run_blast_query

标题:

模块名称:blast_query

函数名称:print_query

我在 ZMI 中的 python 脚本如下所示:

#Import a standard function, and get the HTML request and response objects.
from Products.PythonScripts.standard import html_quote
request = container.REQUEST
RESPONSE = request.RESPONSE

# Insert data that was passed from the form
query=request.query

context.print_query(context,query)

我只想将查询从表单传递给函数,所以我知道它工作正常。

有任何想法吗?

4

3 回答 3

1

您应该通过 id 调用您的外部方法:

context.run_blast_query(context,query)
于 2010-07-04T06:42:06.900 回答
0

这是您对python方法的理解的问题。

我希望:

context.print_query(context,query)

返回:

TypeError: print_query() takes exactly 2 arguments (3 given)

请记住,在 python 中,obj.method()隐式传递obj作为method()的第一个参数

于 2011-03-05T13:36:50.480 回答
0

“请求”可从“自我”获得。

在您的外部方法中使用 self.REQUEST 。

不需要额外的参数。

于 2011-03-06T07:18:38.417 回答