Google app engine 如何在谷歌应用程序引擎上将一个简单的HTML复选框变成bool?

Google app engine 如何在谷歌应用程序引擎上将一个简单的HTML复选框变成bool?,google-app-engine,checkbox,boolean,Google App Engine,Checkbox,Boolean,型号代码: class Task(db.Model): complete = db.BooleanProperty(default=False) HTML代码: <input type="checkbox" name="complete" value="True" /> 这将返回一个错误: BadValueError:属性完成必须是bool 这应该怎么做?您可以使用type()函数检查self.request.get('complete')的磁带。 我建议,self.re

型号代码:

class Task(db.Model):
    complete = db.BooleanProperty(default=False)
HTML代码:

<input type="checkbox" name="complete" value="True" />
这将返回一个错误:

BadValueError:属性完成必须是bool

这应该怎么做?

您可以使用type()函数检查
self.request.get('complete')的磁带。

我建议,
self.request.get('complete')
返回'True',但作为字符串,因此应该将其转换为布尔值。由于未选中的复选框不作为参数发送,因此不同方法的

task.complete = self.request.get('complete') != ''

嘿,我想我只是太频繁地刷新页面了,但是我已经看到了你所有的三次编辑。这三个都为我工作,我感谢你的帮助。请解释为什么这比前两个工作说明更好?谢谢我是新来的,基本上这是最直接的。这三个都是完美的选择<代码>!=“”也是一个可行的选项。“不是”测试对象标识。Python可能会使所有空字符串都成为同一个对象,但依赖它可能是一个坏主意——我认为使用
=不太容易出错。:)虽然我相当肯定每一个严肃的Python解释器都会实习,
'
,但从理论上讲,依赖它是件坏事,这是对的。编辑成
=
task.complete = self.request.get('complete') != ''