Tengo una página HTML con pocos botones de envío con diferentes nombres y valores. Tengo todos los nombres de los botones en una base de datos en SQL. Cuando el usuario ingresa a la página, generalmente hace clic en un botón cada vez y se envía el formulario. ¿Cómo puedo recorrer estos botones en mi programa de matraz/python?
connection = sqlite3.connect('world.db') cursor = connection.cursor() sqlite_select_query = """SELECT name FROM countries""" cursor.execute(sqlite_select_query) records = cursor.fetchall() for row in records: wish = request.form[row[0]] try: db.execute("INSERT INTO userinput (user_id, wish, country_name) VALUES (?, ?, ?)", user_id, wish, row[0]) except ValueError: db.execute("UPDATE userinput SET wish = ? WHERE user_id =? AND country_name=?", wish, user_id, row[0] ) except: passTengo un error 400 Solicitud incorrecta.
Ps .: Ya intenté poner el valor de la fila entre ' y ". No cambió nada.
Si coloco mi formulario de solicitud dentro de la sesión de prueba, simplemente pasa. Pongo antes unos "prints" para ver donde esta el error y ver que esta en el formulario de solicitud.
Si coloco el nombre directamente en el formulario de solicitud y fuera del ciclo, por ejemplo ''' request.form["Brazil"]''', puedo insertarlo en la base de datos sin problemas. Gracias.
Estoy bastante seguro de que request.form no contiene todos los países, solo se hace clic en el botón asociado. Puede mirar los registros del servidor, probablemente vea información sobre la clave faltante en request.form . Entonces, lo que quieres es encontrar ese específico:
wish = request.form.get(row[0]) if wish is None: continue