我无法在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)
我只是想将查询从表单传递给函数,所以我知道我的工作正常。
有什么想法吗?
答案 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。
无需额外参数。