es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando dentro de un bucle for en Jinja Flask.

Estoy teniendo dificultades para acceder a los elementos individuales que han sido creados a través de un ciclo for. Por ejemplo:

{% for i in range(2) %}

{% endfor %}

Como se puede ver, estoy creando dos elementos input en mi formulario. Sin embargo, si trato de recuperar los datos que he ingresado a través de mi aplicación Python Flask, solo puedo obtener el primer input, no el segundo. Aquí es cómo estoy tratando de recuperar los datos.

@app.route(‘/div’, methods=[‘POST’])
def div_post():
scoreFixed = request.form.get(‘scoreGame’)
print(scoreFixed)
return redirect(‘/’)

Por favor, ayúdame a descubrir cómo recuperar la entrada de ambos elementos que han sido creados en el formulario.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para acceder a elementos <input> individuales en un formulario creado mediante un bucle for, puede usar el atributo name para diferenciar los diferentes inputs. Aquí hay un ejemplo:

    <form id="score" method="POST" action="/div">
        <div class="formInput">
            {% for i in range(2) %}
                <input type="text" class="sFixed" name="scoreFixed-{{ i }}">
            {% endfor %}
        </div>
    </form>
    

    En este ejemplo, estamos usando la variable de bucle i para crear un atributo de name único para cada entrada. El atributo name se utiliza luego para recuperar los valores en la aplicación Flask utilizando el método request.form.get:

    @app.route('/div', methods=['POST'])
    def div_post():
        scoreFixed_0 = request.form.get('scoreFixed-0')
        scoreFixed_1 = request.form.get('scoreFixed-1')
        print(scoreFixed_0, scoreFixed_1)
    
        return redirect('/')
    

    Ahora, puede recuperar los valores de ambos inputs usando sus atributos name únicos.

Comments are closed.