양식에서 함수로 값을 전달하고 처리 한 다음 다른 함수에서 함수를 호출하려고합니다. 기본적으로 사용자는 검색어를 제출합니다. process
이라는 함수에 전달되어 처리 된 용어를 사전으로 반환합니다. results
함수에서이 용어는 검색 엔진 API로 구문 분석되고 결과는 HTML 또는 JSON 형식으로 반환됩니다. process
함수는 처리 된 용어 대신에 none을 반환합니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? 이것은 그래서 코드의 일부는 이상하게 보일 수 있습니다 web2py에서 수행,하지만 난 문제가 파이썬 하나보다는 web2py용어 대신 '없음'을 반환하는 함수
import urllib2
def index():
form = FORM('',
INPUT(_name='query', requires=IS_NOT_EMPTY()),
INPUT(_type='submit'))
if form.process().accepted:
redirect(URL('results'))
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill the form'
return dict(form=form)
def __process():
term=request.vars.query
#do some processing
return dict(term=term)
def results():
import urllib2
address = "http://www.blekko.com/?q=%(term)s+/json&auth=<mykey>" % __process()
results = urllib2.urlopen(address).read()
return dict(results=results)
'용어'는 빈 목록일까요? – Junuxx
@Junuxx 그렇게해서는 안됩니다. term = request.vars.query를 말하면 'query'형식의 값을 변수 term에 지정합니다. 용어는 사전 값이어야합니다. – adohertyd
반환 라인 바로 앞에'print'ing'term'을 시도했지만 처리 후 __process 함수와 관련이 있다고 확신합니까? – Junuxx