瓶子 request.forms.get returns None
bottle request.forms.get returns None
我正在尝试使用 Bottle 将信息从 Web 表单发送到 python。我正在使用 get 发送变量 "test",但是当我调用 "test" 的请求函数时,它 returns none。我一直在使用 bottle tutorial 作为参考。
这是我的网络表单:
<form action="http://localhost:8080/page" method="get">
<input type="number" name="test" step="5">
<input type="submit" name="my-form" value="GO">
</form>
如果您在字段中键入 1 并单击开始,您将进入以下 URL:
http://localhost:8080/page?test=10&my-form=GO
这是瓶子 python 代码:
@route('/page', method='GET')
def index():
testvar = request.forms.get('test')
return 'Hello %s' % testvar
据我了解,request.forms.get('test') 应该从 url 中的 test=10 检索值并将其传递到 testvar。但是,我收到 none 的值,这意味着 var 为空。
谢谢!
根据documentation,request.forms
只会收集POST和PUT参数:
forms
Form values parsed from an url-encoded or
multipart/form-data encoded POST or PUT request body. The result is
returned as a FormsDict. All keys and values are strings.
在你的例子中,你有 HTTP
GET
形式,使用 request.params
.
由于您执行的是 HTTP GET,参数不是作为表单传递的,而是作为查询参数传递的。 Bottle 提供 request.query
来访问这些参数:
The query_string parsed into a FormsDict. These values are sometimes called “URL arguments” or “GET parameters”, but not to be confused with “URL wildcards” as they are provided by the Router.
request.forms
用于 HTTP POST:
Form values parsed from an url-encoded or multipart/form-data encoded POST or PUT request body. The result is returned as a FormsDict. All keys and values are strings. File uploads are stored separately in files.
我正在尝试使用 Bottle 将信息从 Web 表单发送到 python。我正在使用 get 发送变量 "test",但是当我调用 "test" 的请求函数时,它 returns none。我一直在使用 bottle tutorial 作为参考。
这是我的网络表单:
<form action="http://localhost:8080/page" method="get">
<input type="number" name="test" step="5">
<input type="submit" name="my-form" value="GO">
</form>
如果您在字段中键入 1 并单击开始,您将进入以下 URL:
http://localhost:8080/page?test=10&my-form=GO
这是瓶子 python 代码:
@route('/page', method='GET')
def index():
testvar = request.forms.get('test')
return 'Hello %s' % testvar
据我了解,request.forms.get('test') 应该从 url 中的 test=10 检索值并将其传递到 testvar。但是,我收到 none 的值,这意味着 var 为空。
谢谢!
根据documentation,request.forms
只会收集POST和PUT参数:
forms
Form values parsed from an url-encoded or multipart/form-data encoded POST or PUT request body. The result is returned as a FormsDict. All keys and values are strings.
在你的例子中,你有 HTTP
GET
形式,使用 request.params
.
由于您执行的是 HTTP GET,参数不是作为表单传递的,而是作为查询参数传递的。 Bottle 提供 request.query
来访问这些参数:
The query_string parsed into a FormsDict. These values are sometimes called “URL arguments” or “GET parameters”, but not to be confused with “URL wildcards” as they are provided by the Router.
request.forms
用于 HTTP POST:
Form values parsed from an url-encoded or multipart/form-data encoded POST or PUT request body. The result is returned as a FormsDict. All keys and values are strings. File uploads are stored separately in files.