获取Flask中复选框的值

我想获取Flask中复选框的值。我读过一篇类似的文章,并尝试使用和的输出,request.form.getlist('match')因为这是我使用的列表[0],但看来我做错了。这是获取输出的正确方法还是有更好的方法?

<input type="checkbox" name="match" value="matchwithpairs" checked> Auto Match

if request.form.getlist('match')[0] == 'matchwithpairs':

# do something

回答:

你并不需要使用getlist,只是get如果只有一个给定名称的输入,尽管它不应该的事。你显示的内容确实有效。这是一个简单的可运行示例:

from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])

def index():

if request.method == 'POST':

print(request.form.getlist('hello'))

return '''<form method="post">

<input type="checkbox" name="hello" value="world" checked>

<input type="checkbox" name="hello" value="davidism" checked>

<input type="submit">

</form>'''

app.run()

提交带有两个复选框的表单,然后['world', 'davidism']在终端中打印。请注意,html表单的方法是,post因此数据将位于中request.form

在某些情况下,了解字段的实际值或值列表很有用,看起来你只关心是否已选中该框即可。在这种情况下,更常见的是为复选框指定一个唯一的名称,然后仅检查它是否具有任何值。

<input type="checkbox" name="match-with-pairs"/>

<input type="checkbox" name="match-with-bears"/>

if request.form.get('match-with-pairs'):

# match with pairs

if request.form.get('match-with-bears'):

# match with bears (terrifying)

以上是 获取Flask中复选框的值 的全部内容, 来源链接: utcz.com/qa/434572.html

回到顶部