2011-11-03 29 views
17

tengo una plantilla Jinja2 que tiene este aspecto:iterar a través de casillas de verificación en el frasco

<form action="" method=post> 
    <table> 
     <tr> 
      <th></th> 
      <th>ID</th> 
      <th>Title</th> 
     </tr> 
     {% for page in pages %} 
      <tr> 
       <td><input type=checkbox name=do_delete value="{{ page['id'] }}"></td> 
       <td>{{ page['id'] }}</td> 
       <td><a href="{{ page['id'] }}">{{ page['title'] }}</a></td> 
      </tr> 
     {% endfor %} 
    </table> 
    With selected: 
    <input type=submit value=Delete> 
</form> 

Y tengo una función, que debe eliminar las páginas según el cual se verificaron casillas de verificación, cuando el 'Borrar' botón está clic:

db.session.query(Page).filter(Page.id.in_(page_ids)).delete() 

lo que tengo que cargar con es ¿cómo puedo iterar a través de todas las casillas de verificación y forman la lista de los page_ids controladas.

Respuesta

31

de Flask request objeto (bueno, en realidad la clase que se devuelve por la instancia LocalProxy que es request) es una subclase de estructura de datos MultiDict de werkzeug - que incluye un método getlist.

page_ids = request.form.getlist("do_delete") 
+0

Eso funciona, gracias! –

+0

Brillante, gracias. –

+0

Realmente bueno. Funcionó bastante bien para mí. ¡Gracias! – Thiago

Cuestiones relacionadas