【发布时间】:2019-02-22 23:59:58
【问题描述】:
我正在尝试通过在flask和python中使用get方法从url获取数据,但得到
192.168.0.128 - - [22/Feb/2019 16:40:18] "TypeError: 'list' object is not callable
The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a list.
192.168.0.128 - - [22/Feb/2019 16:51:39] "GET /autocomplete?input=%27mumbai%27 HTTP/1.1" 500 -
网址:http://192.168.0.128:5000/autocomplete?input=%27mumbai%27
脚本:
app = Flask(__name__)
#cors = CORS(app)
cors = CORS(app, resources={r"/foo": {"origins": "http://localhost:port"}})
app.config['CORS_HEADERS'] = 'Content-Type'
@app.route('/autocomplete', methods=['GET'])
@cross_origin(origin='localhost',headers=['Content- Type','Authorization'])
def AutoComplete():
data = request.args.get('input')
print (data)
#http://192.168.0.128:5000/autocomplete=?input=mumbai
spellchecker = SpellChecker()
tokens = spellchecker.correct_phrase(data)
result = AutoCompleter().guess_exercises(tokens)
return result[:10]
if __name__ == '__main__':
app.run(host='192.168.0.128', port=5000)
【问题讨论】:
-
不是烧瓶用户,所以它可能不是问题,但是您将请求发送到
/autocomplete/(斜杠),同时将您的控制器映射到'/autocomplete'(没有斜杠)。这些不是同一个网址。 -
在返回之前尝试将结果[:10]转换为json,API不能给你任何你想要的......导入jsonify然后返回jsonify(result[:10] )
标签: python python-3.x flask-restful