【发布时间】:2016-03-23 03:28:21
【问题描述】:
我在使用 Flask 设置将我的 form 数据发送到 MongoDB 时遇到问题。表单如下所示:https://jsfiddle.net/8gqLtv7e
在客户端,我没有看到任何错误。但是当我提交表单时,我收到 500 Internal Server Error 并且我很难找到解决方案。问题是我的views.py 文件中的最后一行:
@app.route('/recordReport', methods=['POST'])
def recordReport():
homeReportsCollection = db["reports"]
address=request.form.get['address']
rgbImage=request.form.get['rgb']
homeReportsCollection.insert({'address':address, 'rgb':rgbImage})
因为如果我用return json.dumps({'status':'OK', 'address':'address', 'rgb':'rgbImage'}) 替换它,我可以在浏览器中看到正确的数据。我只是无法将它发送到 MongoDB 中的集合。
【问题讨论】:
-
你不应该使用
insert_one()吗? -
homeReportsCollection.insert_one({'address':address, 'rgb':rgbImage})仍然导致 500 内部服务器错误。 -
在插入之前您是否尝试过将
address和rgbImage类型转换为String? -
我打错了。
address和rgbImage都作为字符串发送。刚刚编辑了我的问题。所以不需要在 Python 端这样做。 -
老实说,我很难过。早在 2013 年,Mongo 就有一个错误。数据将被插入到集合中。但是 Mongo 不会返回正确的状态响应。这导致服务器运行 500。您是否尝试过验证数据是否确实插入到集合中?此外,在
debug=True模式下运行您的烧瓶应用程序。这可能会提供更多数据。
标签: python mongodb flask pymongo