使用google app engine和python,如何检查是否标记了复选框?
我想使用复选框显示用户想在购物车中购买的一些项目 在销售物品的db.Model类中,我包括:使用google app engine和python,如何检查是否标记了复选框?,python,google-app-engine,web-applications,checkbox,jinja2,Python,Google App Engine,Web Applications,Checkbox,Jinja2,我想使用复选框显示用户想在购物车中购买的一些项目 在销售物品的db.Model类中,我包括: amount = db.StringProperty(required = True) price = db.StringProperty(required = True) checked = db.BooleanProperty(default = False) db.Model类html: <tr> <td class = "checkbox"> <i
amount = db.StringProperty(required = True)
price = db.StringProperty(required = True)
checked = db.BooleanProperty(default = False)
db.Model类html:
<tr>
<td class = "checkbox">
<input type = "checkbox" name = "check">
{{s.checked}}
</td>
<td class = "entry_amount" name = "entry">
{{s.amount}}
</td>
<td class = "entry_price" name = "entry">
{{s.price}}
</td>
</tr>
buy.html包括:
<tr class = "table_label">
<th></th>
<th>amount of mp</th>
<th>price per mp</th>
</tr>
{% for sell in sells %}
{{ sell.render() | safe }}
</input>
{% endfor %}
当我转到购物车页面时,将选中列出要出售的每个项目,而不仅仅是选中其框的项目。为什么会这样
帮助。尝试使用has_key()python函数检查dict是否实际具有该键:
check = self.request.has_key('check') #you may also use ('check' in self.request) - see my comment below.
if check:
sell.checked = True
sell.put()
boxcount += 1
上述措施应该有效。如果没有,请更改复选框标记,使其实际具有某些值:
<input type = "checkbox" name = "check" value = "true">
html复选框的标准行为是,仅当选中复选框时才会发布值。有关更多信息,请参阅链接。尝试使用has_key()python函数检查dict是否实际具有该键:
check = self.request.has_key('check') #you may also use ('check' in self.request) - see my comment below.
if check:
sell.checked = True
sell.put()
boxcount += 1
上述措施应该有效。如果没有,请更改复选框标记,使其实际具有某些值:
<input type = "checkbox" name = "check" value = "true">
html复选框的标准行为是,仅当选中复选框时才会发布值。有关更多信息,请参见链接。
foo.has_键('bar')
在foo中拼写为bar,至少从Python 2.4开始。@DanielRoseman-可能是,我对Python也相对陌生。但是has_key()在我的2.7脚本中肯定有效,也许是为了兼容性而维护的。@DanielRoseman-你说得对。事实证明,has_key()的性能稍慢:。我相应地编辑了我的答案。我不认为a制作了dict?@smores-实际上,self.request对象是dict(dictionary的缩写)。每个输入,如“check”,都是该字典的一个元素。因此,如果使用self.request.has_key('check')或self.request中的('check'),您将知道字典是否包含此值foo.has_key('bar')
在foo中被拼写为bar,至少从Python 2.4开始。@DanielRoseman-可能是,我对Python也比较陌生。但是has_key()在我的2.7脚本中肯定有效,也许是为了兼容性而维护的。@DanielRoseman-你说得对。事实证明,has_key()的性能稍慢:。我相应地编辑了我的答案。我不认为a制作了dict?@smores-实际上,self.request对象是dict(dictionary的缩写)。每个输入,如“check”,都是该字典的一个元素。因此,如果使用self.request.has_key('check')或self.request中的('check'),您将知道字典是否包含此值!