Using google app engine and python, how do I check if a checkbox is marked?
我想使用复选框显示一些用户想在购物车中购买的商品。
在待销售商品的db.model类中,我包括:
1 2 3 | amount = db.StringProperty(required = True) price = db.StringProperty(required = True) checked = db.BooleanProperty(default = False) |
db.model类html:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <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> |
号
每次用户访问购买页面时,每个项目的选中属性都设置为false。在"购买"页面的"发布"方法中,我有以下内容:当用户点击"提交"时;复选框是复选框的名称;复选框在HTML中没有赋值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | sells = SellModel.all() boxcount = 0 for sell in sells: check = self.request.get('check') if check: sell.checked = True sell.put() boxcount += 1 if boxcount == 0: error ="check at least one box" self.render("buy.html", error = error, sells = sells) else: self.redirect('/cart') |
buy.html包括:
1 2 3 4 5 6 7 8 9 | <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 %} |
。
self.redirect指向购物车页面,其中get方法
1 2 3 | cart = SellModel.all() cart.filter("checked =", True) self.render("newbuy.html", cart = cart) |
当我进入购物车页面时,会选择列出待售的每个项目,而不仅仅是复选框中的项目。为什么会这样?
帮助。
试着查看下面的字符串实际有哪些关键字使用有 Key()python function:
1 2 3 4 5 | 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 |
上面应该工作。如果不改变你的检查盒标记,那么它实际上是有价值的:
ZZU1
HTML检查盒的标准行为是,只有当检查盒是检查盒时,才公布价值。See this link for more info.