【问题标题】:Why I am getting error while using get method in Flask python为什么在 Flask python 中使用 get 方法时出现错误
【发布时间】: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


【解决方案1】:

有一个错误发回给您。该错误是错误404

来自维基百科: 强调 HTTP 404、404 Not Found 和 404 错误消息是超文本传输​​协议 (HTTP) 标准响应代码,在计算机网络通信中,表示客户端能够与给定服务器通信,但服务器找不到请求的内容。

尝试将请求从 /autocomplete/ 更改为 /autocomplete

【讨论】:

  • 现在的问题将是您代码中的错误。请查看原始问题中的 cmets。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 1970-01-01
  • 2014-10-23
相关资源
最近更新 更多