1

我正在尝试将 HTML 表单输入从页面发送到 python 脚本。这仅用于测试目的,因此请忽略糟糕的代码。基本上我不知道如何定义action=部分来引用search()python脚本中的函数。我只需要让基本功能正常工作。我使用 web2py 作为可能相关的框架:

控制器: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>
4

2 回答 2

1

看起来表单本身是通过 search() 函数提供的,因此您只需设置action="",它将提交回 search() 函数。此外,您应该在 HTML 属性值周围加上引号,并且应该添加一些逻辑来检查 request.vars.q 中是否有任何内容,因为当页面第一次加载空表单时,没有要处理的查询。

于 2012-05-23T23:59:45.320 回答
1

你在那里做的事情对GET请求是正确的。对于POST请求,您需要将字段作为数据参数传递。

urllib.urlopen('http://www.google.com/search', data=urllib.urlencode({'q':'FOO'}))

例如,将搜索作为POST请求进行。

请参阅此处了解更多信息。

于 2012-05-24T00:00:06.227 回答