私はPythonとピラミッドを初めて使用し、ピラミッドで複数のチェックボックスを含むフォームの結果を処理する方法に苦労しています。
これが私のフォームからの抜粋です:
<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)
ご想像のとおり、フォームでいくつ選択しても、最大1つのチェックボックスしか認識されません。Djangoには結果をリストとして返すオプションがありますが、Pyramidでそれを行う方法がわからないようです。