我正在使用 Python 创建 Google App Engine 应用程序。为了测试我的应用程序,我使用 html 表单输入数据。
在我的表格中我有一行:
<tr><td>Age</td><td><input type="number" size="10" name="age"/></td></tr>
在我的模型类中,属性定义如下:
class Person(ndb.Model):
...
age = ndb.IntegerProperty()
当我在本地测试我的应用程序时,它会显示表单,但在输入年龄值时,我会得到一个BadValueError: Expected integer, got u '23'
消息。发布图像是因为我不知道如何复制命令提示符文本。我希望它足够清晰。
编辑:这就是从 html 表单传递数据的方式。
# Data taken from the registration form (above) is used to
# create a new member.
class PersonHandler(webapp2.RequestHandler):
def post(self):
# need to check this member-name does not exist
name = self.request.get('name')
callback = self.request.get('callback')
member = Member.get_by_id(name)
if member: # This member name already exists.
self.error(409) # This is the HTTP status code for 'unable to process due to conflict'
else:
...
a = self.request.get("age")
member = Member(age=a,...)
member.put()
if callback:
self.response.write(callback + '(' + member.toJSON + ')')
else:
self.response.write(member.toJSON())
有人可以告诉我做错了什么吗?
您只需将检索到的值转换为整数:
...
else:
...
a = int(self.request.get("age"))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)