Если реализовать введение данных вручную таким способом, значение отправляется на сервер и запрос из БД выдает таблицу корректно
<label for="station">Выберите станцию::</label>
<input type="date" id ="station" name ="station"><br><br>
Решил реализовать вместо ввода вручную выпадающий список, но теперь при нажатии на кнопку применить, на сайте я вижу только пустую таблицу с заголовками. Подскажите, пожалуйста, что мне нужно исправить?
index.html
{% if form_visible %}
<form method ="post" action="/">
<label for="year ">Год:</label>
<input type="number" id ="year" name ="year"><br><br>
<label for="station">Выберите станцию:</label>
<select type="text" id ="station" name="station">
<optgroup label="Москва">
<option value="1">станция-1</option>
<option value="2">станция-2</option>
<option value="3">станция-3</option>
</optgroup>
<optgroup label="Питер">
<option value="4">станция-4</option>
<option value="5">станция-5</option>
</optgroup>
</select><br><br>
<input type = "submit" value="Применить">
<a href = "{{url_for('download', year=request.form['year'], station=request.form['station'])}}">Скачать</a>
</form>
{% endif %}
@app.route("/", methods=["GET","POST"])
def index():
cur = conn.cursor()
cur.execute("SELECT * FROM fact_indicators;")
rows = cur.fetchall()
cur.close
if request.method == "POST":
year = request.form["year"]
station = request.form["station"]
# Запрос к БД с использованием параметров дат
cur = conn.cursor()
cur.execute("SELECT * FROM fact_indicators WHERE fact_year = %s AND fact_station_name = %s;",(year,station))
rows = cur.fetchall()
cur.close
# Отображение полученных данных на странице
return render_template("index.html", rows=rows, form_visible=True)
else:
return render_template("index.html",rows=rows, form_visible=False)