2012-08-04 68 views
6

我只是python和pyramid的新手,我正在努力處理包含Pyramid中多個複選框的表單的結果。金字塔複選框

這裏是我的形式摘錄:

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

這裏是如何我目前正在努力遍歷並處理結果:

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

正如你可能已經猜到了,我」無論我在表單上選擇多少個,m都只能獲得最多一個複選框。 Django可以選擇將結果作爲列表返回,但我似乎無法弄清楚如何與金字塔做到這一點。

回答

6

request.paramsmultidict。要檢索多個值,可以調用它的getall()方法:

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

工作就像一個魅力!非常感謝! – dusty909 2012-08-04 14:11:54