Это довольно просто: у меня есть список идентификаторов, и я хочу показать их пользователю в виде серии флажков. Пользователь должен выбрать те, которые он хочет, затем проверить, какие из них выбраны, и выполнить функцию. Вот мой код:
app.py:
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)
и мой template.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 при отправке. Куда я иду не так? Любые предложения высоко ценятся!