Quiero obtener un valor seleccionado en HTML y usarlo en python Flask. Debido a que no pude encontrar ninguna forma de obtener el valor de la opción de etiqueta seleccionada a través de Flask, obtengo el valor con JavaScript y luego lo amplío en un encabezado. Ahora, quiero solicitar el encabezado pero no pude. Recibo un error de clave. Aquí está mi código HTML.
<label for="filtre_input">Neye göre karşılaştırmak istersiniz?</label> <select name="filtre_input" id="filt" onchange="filtreinputla();"> <option selected="selected">Kategori</option> <option value="il">İl</option> <option value="tur">Tür</option> <option value="renk">Renk</option> <option value="duygu">Duygu</option> </select> <script type="text/javascript"> function filtreinputla() { var filtreselect = document.getElementById("filt").value; console.log(filtreselect); document.getElementById("filtreselectid").innerHTML = filtreselect; } </script> <h3 id = "filtreselect_p" type = "hidden" name="filtreselect_p"><span id="filtreselectid"></span></h3>Aquí está mi código app.py.
@app.route("/nd", methods=['POST', 'GET']) def func(): flash("") filter = request.headers["filtreselect_p"] if filter == None: flash("Please, select something.") return render_template("index.html") else: result = my_function(filter) flash(result) return render_template("index.html")Quiero solicitar el encabezado o encontrar un nuevo enfoque para obtener el valor de la etiqueta de opción seleccionada. Por favor ayuda si puedes :)
Debe usar la etiqueta de form .
Puede utilizar el método GET o POST .
<form method="get" action="/ng"><--or method="post"--> <label for="filtre_input">Neye göre karşılaştırmak istersiniz?</label> <select name="filtre_input" id="filt" onchange="filtreinputla();"> <option selected="selected">Kategori</option> <option value="il">İl</option> <option value="tur">Tür</option> <option value="renk">Renk</option> <option value="duygu">Duygu</option> </select> </form> Si usa el método GET , su código de matraz es
request.args.get('filtre_input') Si usa el método POST , puede usar
request.form.get('filtre_input')