2012-08-04 7 views
6

Sono appena arrivato a Python e Pyramid e non riesco a elaborare i risultati di un modulo contenente più checkbox in Pyramid.caselle di controllo piramide

Ecco un estratto dalla mia forma:

<p tal:repeat="category categories"> 
    <input type="checkbox" name="selectedcategories" value="${category.id}"> ${category.name}<br/> 
</p> 

Ed ecco come Attualmente sto cercando di scorrere ed elaborare i risultati:

selectedcategories=request.params['selectedcategories']  
for categoryid in selectedcategories: 
     category = DBSession.query(Category).filter_by(id=categoryid).one() 
     article.categories.append(category) 

Come avrete intuito, io' m ottenendo solo un massimo di una casella di controllo, indipendentemente dal numero selezionato nel modulo. Django ha un'opzione per restituire i risultati come una lista, ma non riesco a capire come farlo con Pyramid.

risposta

6

request.params è un multidict. Per recuperare più valori, puoi chiamare il suo metodo getall():

selectedcategories = request.params.getall("selectedcategories") 
+0

Ha funzionato come un fascino! Grazie mille! – dusty909