Python y formularios

Bueno, no sé si es la solución fetén, pero he encontrado la forma de hacer formularios "dinámicos" y luego recoger los parámetros en una función de Python.

Creo mi formulario con una consulta a base de datos, consultando los proyectos y creando tantos campos <input type="text" name="id_…./>  como proyectos haya. El id_… es un trozo de texto "id_" al que concateno detrás el identificador del proyecto en base de datos. Esto hace que en la página python que recibe el resultado del formulario no se pueda saber a priori los nombres de los parámetros. Y más si tenemos en cuenta que en python debemos crear una función cuyos parámetros sean precisamente esos, los nombres de los parámetros del formulario.

# La función debería ser así….
def funcion (req, id_proyecto1, id_proyecto2, id_proyecto3):

La forma que he encontrado sólo funciona cuando el formulario es tipo GET. La función python que recibe el formulario recibe también un Request Object que tiene datos sobre la petición http. Dicho objeto es el primer parámetro req del trozo de código anterior. Pues bien, si la petición ha sido por GET, entonces req.args contiene el trozo de cadena de la URL con los parámetros. Es decir, algo como "id_xxx=32&id_yyy=3&id_zzz=1" donde xxx, yyy y zzz son los identificadores de los proyectos.

Ahora sólo queda, con un bucle y un par de llamadas a la función split(), separar adecuadamente todo. Por supuesto, siguiendo mi costumbre, he puesto todo esto con un poco más de detalle en recoger parámetros de un formulario con python en la Chuwiki.

Esta entrada fue publicada en python. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.