我从烧瓶开始,所以我有很多问题。其中之一是如何根据复选框输入的名称创建数组?换句话说,python 会遵循这样的逻辑:对于每种类型的“复选框”,填充了哪些?
我有这些代码:index.html
{% block content %}
<form method="POST" action="">
<div class="card" style="margin:50px 0">
<div class="card-header"><b>Letters</b></div>
<ul class="list-group list-group-flush">
<li class="list-group-item">A
<label class="switch ">
<input type="checkbox" name="A" class="danger">
<span class="slider round"></span>
</label>
</li>
<li class="list-group-item">B
<label class="switch ">
<input type="checkbox" name="B" class="danger">
<span class="slider round"></span>
</label>
</li>
<li class="list-group-item">C
<label class="switch ">
<input type="checkbox" name="C" class="danger">
<span class="slider round"></span>
</label>
</li>
</ul>
<button type="submit">Go</button>
</div>
</form>
{% endblock content %}
Run Code Online (Sandbox Code Playgroud)
和 funcs.py
from flask import Flask, render_template, url_for, redirect, request
app = Flask(__name__)
app.config['SECRET_KEY'] = '0000'
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)
当用户选中名为“A”和“C”的复选框时,python 创建一个数组并在用户提交后不久显示该数组。
checked = ["A", "C"]
Run Code Online (Sandbox Code Playgroud)
您的 HTML 正朝着正确的方向前进,但 Flask 进行了一些小的更改以有效地处理此问题。
首先,将name属性的当前值设置 为该value属性。这将确定 Flask 在表单发布期间拉取的值。其次,将name属性设置为具有共同值。
<input type="checkbox" value="A" class="danger" name='my_checkbox'>
<input type="checkbox" value="B" class="danger" name='my_checkbox'>
<input type="checkbox" value="C" class="danger" name='my_checkbox'>
Run Code Online (Sandbox Code Playgroud)
如此配置 HTML 后,您可以使用getlistFlask 的请求模块中的方法。
print(request.form.getlist('my_checkbox'))
>>> ['A', 'C']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4557 次 |
| 最近记录: |