Python 返回flask端点json/状态代码时出错
我有一个端点,如果请求被scucessfull访问并使代码崩溃,那么该端点可以正常工作,否则不会出现预期的行为Python 返回flask端点json/状态代码时出错,python,flask,werkzeug,Python,Flask,Werkzeug,我有一个端点,如果请求被scucessfull访问并使代码崩溃,那么该端点可以正常工作,否则不会出现预期的行为 class CarbyID(Resource): def get(self, car_id): json_return = {'car_id': car_id} try: res = db_query.read(car_id) #gets the data from the databse json
class CarbyID(Resource):
def get(self, car_id):
json_return = {'car_id': car_id}
try:
res = db_query.read(car_id) #gets the data from the databse
json_return['data'] = res
return json_return, 200 if res else json_return, 400
except:
return json_return,505
class CarbyID(Resource):
def get(self, car_id):
json_return = {'car_id': car_id}
try:
res = db_query.read(car_id) #gets the data from the databse
json_return['data'] = res
return (json_return, 200) if res else (json_return, 400)
except:
return json_return,505
当在数据库中找到车辆id时->确定
当找不到car_id时,res为None,预计返回400,但返回500,错误如下:
File "\Lib\site-packages\werkzeug\datastructures.py", line 1091, in extend
for key, value in iterable:
ValueError: too many values to unpack (expected 2)
知道为什么吗?它的结构与json+状态代码相同。好的,所以:
def hola():
condition = True
return 'True',"A" if condition else 'False','B'
def hola():
condition = True
return ('True',"A") if condition else ('False','B')
返回'True','A','B'
我希望返回'True','A'
正确的答案是
所以,像这样更改代码
In [7]: def test():
...: return (1,2) if False else (3,4)
In [8]: test()
Out[8]: (3, 4)
class CarbyID(Resource):
def get(self, car_id):
json_return = {'car_id': car_id}
try:
res = db_query.read(car_id) #gets the data from the databse
json_return['data'] = res
return (json_return, 200) if res else (json_return, 400)
except:
return json_return,505