这非常简单:我有一个ID列表,我想将它们作为一系列复选框显示给用户。用户应该选择他想要的,然后检查选择了哪些,并执行一个函数。这是我的密码:
from flask import Flask, render_template, flash, request, redirect
from wtforms import Form, TextField, TextAreaField, validators, StringField, SubmitField,widgets, SelectMultipleField
from flask_wtf import FlaskForm
app = Flask(__name__)
app.config.from_object(__name__)
@app.route("/example", methods=["GET", "POST"])
def example():
form = FlaskForm()
ids= ['a','b','c']
if request.method == 'POST':
selected_ids = request.form.getlist("ids")
if form.validate():
flash('nice')
else:
flash('something went wrong')
return render_template('example.html', form=form, ids= ids)
还有我的模板。html:
<div class="container">
<div class="content-section">
<form method="POST" action="">
<fieldset class="form-group">
<legend class="border-bottom mb-4">IDs to select</legend>
{%for i in ids%}
<li>
<input type = "checkbox" id = "id_{{i}}" name = "ids" value = "1">
<label for="id1">{{i}}</label>
</li>
{% endfor %}
</fieldset>
<button type="submit" class="btn btn-success">GO</button>
</form>
</div>
但是,当我提交时,这会产生一个500错误。我哪里做错了?非常感谢您的任何建议!