我只是python和pyramid的新手,我在努力处理包含Pyramid中多个复选框的表单的结果。
这是我表格的摘录:
-------欢迎加入python学习交流扣扣裙851211580-------
<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)
您可能已经猜到了,无论我在表单上选择了多少,我最多只能识别一个复选框。Django可以选择将结果作为列表返回,但是我似乎无法弄清楚如何使用Pyramid。
解决方案
request.params是一个多变量。要检索多个值,可以调用其getall()方法:
selectedcategories = request.params.getall("selectedcategories")
最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。