Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 返回flask端点json/状态代码时出错_Python_Flask_Werkzeug - Fatal编程技术网

Python 返回flask端点json/状态代码时出错

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

我有一个端点,如果请求被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_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