0

plone で単純な外部メソッドを正しく動作させるのに問題があります。私の拡張機能フォルダーには、以下の 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)

フォームから関数にクエリを渡したいだけなので、正しく機能していることがわかります。

何か案は?

4

3 に答える 3

1

外部メソッドは ID で呼び出す必要があります。

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

「リクエスト」は「セルフ」から可能です。

外部メソッド内で self.REQUEST を使用します。

追加のパラメーターは必要ありません。

于 2011-03-06T07:18:38.417 に答える
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 に答える