python - 如何在 Python 和 Flask 上返回列表?

标签 python list api flask

这个问题在这里已经有了答案:





Return JSON response from Flask view

(14 个回答)


2年前关闭。




我试图在 flask 中返回这个列表。教师是一个类并返回对象。

@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
  teachers = []
  for teacher in Teacher.objects:
    teachers.append(teacher)
  return teachers

此代码返回的典型错误TypeError: 'list' object is not callable The view function did not return a valid response.
我快疯了,我不知道发生了什么。有人知道吗?

谢谢!!

编辑:

我已经解决了。问题不在于如何返回列表,问题在于对象的 JSON 序列化。
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
  teachers = []
  for teacher in Teacher.objects:
     teacherJson = teacher.to_json()
     teacherData = json.loads(teacherJson)
     teachers.append(teacherData)
  return jsonify({'teachers': teachers})

谢谢你的帮助。

最佳答案

你不能直接从 flask View 返回列表。请尝试 jsonify

from flask import jsonify
@app.route('/v1/teachers', methods=['GET'])
def getTeachers():
   teachers = []
   for teacher in Teacher.objects:
      teachers.append(teacher)
   return jsonify(teachers)

关于python - 如何在 Python 和 Flask 上返回列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54003751/

相关文章:

Python将数字列表与其他数字列表相加

python - 通过 SWIG 在 python 函数中使用 GList 数据类型

c - 列表列表(内部列表被删除或内存释放)

c# - 从列表 2 中过滤列表 1

api - Zabbix-如何降低不支持的项目刷新间隔

Java Lucene Ngrams

python - 输出到终端的 Tensorflow 用等号填充

python - 默认情况下,如何从类中返回列表而不是字符串?

list - 将零添加到列表中

api - 使用服务模块远程登录 Drupal 7 站点