使用 Bottlepy 从 HTML 表单中获取 INT 值

Posted

技术标签:

【中文标题】使用 Bottlepy 从 HTML 表单中获取 INT 值【英文标题】:getting INT value from HTML form with bottlepy 【发布时间】:2012-10-21 11:22:21 【问题描述】:

我有一段非常简单的代码,我试图添加 2 个数字。我对python非常缺乏经验,所以我遇到了一些麻烦。我正在使用python的瓶子框架。

from bottle import get, post, request, run, validate
@get('/login') # or @route('/login')
def login_form():
    return '''<form method="POST" action="/login">
<input name="number" type="number" />
<input type="submit" />
</form>'''
@post('/login') # or @route('/login', method='POST')
def login_submit():
    name = request.forms.get('number')
    intnumber = int(number)
    return(intnumber + intnumber)

我遇到的问题是从文本框返回的值是字符串类型。所以我可以很好地连接这两个字符串,但不能将它们转换为 int 来添加它们。它给了我错误

TypeError("'int' object is not iterable",)

当它尝试转换 intnumber = int(number).

任何有关如何解决此问题以及为什么会发生这种情况的帮助将不胜感激。

【问题讨论】:

【参考方案1】:
from bottle import get, post, request, run, validate

#bottle.debug(True)

@get('/login') # or @route('/login')
def login_form():
    return '''<form method="POST" action="/login">
<input name="number" type="number" />
<input type="submit" />
</form>'''

@post('/login') # or @route('/login', method='POST')
def login_submit():
    number = request.forms.get('number')
    intnumber = int(number)
    return str(intnumber + intnumber)

run(host='localhost', port=8080)

【讨论】:

更好:number = request.forms.get('number', type=int) 然后(如你所说)return str(number + number)

以上是关于使用 Bottlepy 从 HTML 表单中获取 INT 值的主要内容,如果未能解决你的问题,请参考以下文章

如何从 html 表单中获取“日期和时间”输入并使用 Spring Boot 保存到 MySQL 数据库中?

Django:从 HTML 中获取 LIST 数据,无需表单或模型

如何确定从我的 html 表单获取的输入值的数据类型,以便我可以使用它们在准备好的语句中绑定参数

从 HTML 表单的输入中获取修改后的文本

如何从 mongodb 到 html 表单字段中获取数据?

无法从 PHP 中的 HTML 表单获取 POST 值