<label>请选择月份:</label> {% for mon_r in mons_r %} <input type="checkbox" name="mons_r" value="{{ mon_r[0] }}">{{ mon_r[0] }} {% endfor %} <input type="submit" value="查询"> 如何修改,让输出内容为选中的选项的列表?
时间: 2024-03-15 22:46:04 浏览: 81
您可以在表单提交时,使用 Flask 框架的 request 对象获取到所有被选中的月份,然后将其存储为列表,最后输出即可。以下是示例代码:
```python
from flask import Flask, request, render_template
app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
# 获取选中的月份
mons_r = request.form.getlist('mons_r')
# 将选中的月份组成列表并输出
return render_template('result.html', result=mons_r)
else:
mons_r = [('January',), ('February',), ('March',), ('April',), ('May',), ('June',), ('July',), ('August',), ('September',), ('October',), ('November',), ('December',)]
# 显示月份复选框
return render_template('index.html', mons_r=mons_r)
if __name__ == '__main__':
app.run()
```
在模板文件 `index.html` 中,您需要为表单设置 `method="POST"`,然后在模板文件 `result.html` 中,您可以使用 Jinja2 模板引擎的 for 循环语句输出选中的月份列表。以下是示例代码:
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>选择月份</title>
</head>
<body>
<form action="/" method="POST">
<label>请选择月份:</label>
{% for mon_r in mons_r %}
<input type="checkbox" name="mons_r" value="{{ mon_r[0] }}">{{ mon_r[0] }}
{% endfor %}
<input type="submit" value="查询">
</form>
</body>
</html>
<!-- result.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询结果</title>
</head>
<body>
<h1>您选择的月份为:</h1>
<ul>
{% for r in result %}
<li>{{ r }}</li>
{% endfor %}
</ul>
</body>
</html>
```
希望以上代码能对您有所帮助!
阅读全文