Dom*_*icM 7 python bottle python-3.x
我有一个奇怪的问题.我有一个返回布尔值的方法.反过来我需要再次返回该函数的结果,因为我无法直接从前端调用该方法.这是我的代码:
# this uses bottle py framework and should return a value to the html front-end
@get('/create/additive/<name>')
def createAdditive(name):
return pump.createAdditive(name)
def createAdditive(self, name):
additiveInsertQuery = """ INSERT INTO additives
SET name = '""" + name + """'"""
try:
self.cursor.execute(additiveInsertQuery)
self.db.commit()
return True
except:
self.db.rollback()
return False
Run Code Online (Sandbox Code Playgroud)
抛出异常:TypeError("'bool'对象不可迭代",)
我根本没有得到这个错误,因为我没有试图"迭代"bool值,只是为了返回它.
如果我返回一个字符串而不是boolean或int它按预期工作.这可能是个问题?
追溯:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\bottle.py", line 821, in _cast
out = iter(out)
TypeError: 'bool' object is not iterable
Run Code Online (Sandbox Code Playgroud)
Mar*_*cin 11
回顾一下追溯:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\bottle.py", line 821, in _cast
out = iter(out)
TypeError: 'bool' object is not iterable
Run Code Online (Sandbox Code Playgroud)
您的代码不是迭代值,而是接收它的代码.
解决方案是:返回一个可迭代的.我建议您将bool转换为字符串(str(False))或将其包含在元组((False,))中.
总是阅读回溯:它是正确的,它是有帮助的.
| 归档时间: |
|
| 查看次数: |
69928 次 |
| 最近记录: |