我正在运行一个从mongodb获取数据的flask服务器。在
from flask import Flask
from flask import render_template
from pymongo import Connection
import json
from bson import json_util
from bson.json_util import dumps
app = Flask(__name__)
MONGODB_HOST = 'localhost'
MONGODB_PORT = 27017
DBS_NAME = 'donorschoose'
COLLECTION_NAME = 'projects'
FIELDS = {'school_state': True, 'resource_type': True, 'poverty_level': True, 'date_posted': True, 'total_donations': True, '_id': False}
@app.route("/")
def index():
return render_template("index.html")
@app.route("/donorschoose/projects")
def donorschoose_projects():
connection = Connection(MONGODB_HOST, MONGODB_PORT)
collection = connection[DBS_NAME][COLLECTION_NAME]
projects = collection.find(fields=FIELDS)
json_projects = []
for project in projects:
json_projects.append(project)
json_projects = json.dumps(json_projects, default=json_util.default)
connection.disconnect()
return json_projects
if __name__ == "__main__":
app.run(host='0.0.0.0',port=5000,debug=True)
我从网上得到这段代码并成功地实现了它。并通过这个应用程序向d3应用程序提供数据。我的问题是:是否可以使用python修改flask环境中的数据?(在我粘贴在上面的代码中?)。我之所以这么问,是因为python允许比d3更大的灵活性,因为我在d3方面的专业知识较少。针对问题:“贫困水平”一栏将有4个固定值,即低、中、高、未知。 我的目标是计算高贫困人口的百分比 i、 e.对于“贫困水平”列->;count(val=high)/count(所有行)
基本上我只需要一列来显示我的度量,我很难做到这一点是d3。任何d3或python级别的帮助都将非常感谢:)
谢谢。在
首先需要完全迭代find()返回的游标:
然后计算总贫困项目数和高贫困项目数:
^{pr2}$然后,我会将此与所有项目的列表一起作为文档添加到一起:
另外,请注意,您的应用程序存在两个严重问题:
首先,使用“Connection”,即obsolete。这样做:
其次,创建一个新的客户机,并为每个请求断开连接。这是非常缓慢的。相反,请在应用程序启动时创建客户端,不要断开连接:
相关问题 更多 >
编程相关推荐