2010-06-30 5 views
0

У меня возникли проблемы с правильной работой простых внешних методов в plone. В моей папке расширений У меня есть сценарий питона с именем blast_query.py код ниже:Plone Внешние методы help

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

моих внешних методов выглядит так:

Id: run_blast_query

Название:

модуль Название: blast_query

Имя функции: print_query

Мой питон скрипт в ZMI выглядит следующим образом:

#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) 

Я просто хочу, чтобы передать запрос от формы к функции, так что я знаю, что у него работает правильно.

Любые идеи?

ответ

1

Вы должны назвать свой внешний метод по идентификатору:

context.run_blast_query(context,query) 
0

Это проблема с пониманием методов питона.

Я бы ожидать:

context.print_query(context,query) 

вернуться:

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

Помните, что в питона, obj.method() неявно проходит OBJ в качестве первого параметра метода ()

0

"request" is availabl е из «я».

использование сам.REQUEST внутри ваш внешний способ.

Дополнительных параметров не требуется.