返回烧瓶端点json /状态代码时出错

时间:2020-06-18 05:50:00

标签: python flask werkzeug

如果请求成功,我有一个端点可以正常工作,否则会使代码崩溃(不是预期的行为)

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

在数据库中找到car_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 + status结构代码。

2 个答案:

答案 0 :(得分:1)

PollForSourceChanges: true
In [5]: def test(): 
   ...:     return 1,2 if False else 3,4 

In [6]: test()                                                                  
Out[6]: (1, 3, 4)

所以,这样更改代码

In [7]: def test(): 
   ...:     return (1,2) if False else (3,4) 
In [8]: test()                                                                  
Out[8]: (3, 4)

答案 1 :(得分:0)

好的,所以:

def hola():
    condition = True
    return 'True',"A" if condition else 'False','B'

返回“ True”,“ A”,“ B”。

我希望返回“ True”,“ A”。

正确将是

def hola():
    condition = True
    return ('True',"A") if condition else ('False','B')