我正在尝试将HTML表单输入从页面发送到python脚本。这仅用于测试目的,因此请忽略糟糕的代码。基本上我不知道如何定义action=
部分来引用python脚本中的search()
函数。我只需要使基本功能正常工作。我使用web2py作为可能相关的框架:
Controller:default.py
def index():
return dict()
def search():
import urllib
q=request.vars.q
result1 = urllib.urlopen('http://www.google.com/search?q=%s' % q)
return dict(result1=result1)
默认/ search.html:
{{extend 'layout.html'}}
<form method=get action=???>
<input name=q>
<input type=submit value=search>
</form>
答案 0 :(得分:1)
看起来表单本身是通过search()函数提供的,因此您只需设置action=""
,它就会提交回search()函数。此外,您应该在HTML属性值周围加上引号,并且应该添加一些逻辑来检查request.vars.q中是否有任何内容,因为当页面首次加载空表单时,没有要处理的查询。 / p>
答案 1 :(得分:1)
您正在执行的操作对于GET
请求是正确的。对于POST
个请求,您需要将字段作为数据参数传递。
urllib.urlopen('http://www.google.com/search', data=urllib.urlencode({'q':'FOO'}))
例如,将搜索作为POST
请求。
有关详细信息,请参阅here。