Plone外部方法有帮助

时间:2010-06-30 17:46:13

标签: python plone zope

我无法在plone中正确使用简单的外部方法。 在我的extensions文件夹中,我有一个名为blast_query.py的python脚本代码如下:

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

我的外部方法如下:

  

Id: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)

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

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

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

context.run_blast_query(context,query)

答案 1 :(得分:0)

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

我希望:

context.print_query(context,query)

返回:

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

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

答案 2 :(得分:0)

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

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

无需额外参数。