Вьюшка которая отдаёт json
import pymysql, json
from flask import Flask, request, render_template, jsonify
app = Flask(__name__)
@app.route('/get_data')
def get_data():
if request.method == 'GET':
#Подключаемся к MYSQL
conn = pymysql.connect(host='localhost', port=3306,
user='root', passwd='nemate666', db='data_mapping')
cursor = conn.cursor(pymysql.cursors.DictCursor)
#Вытаскиваем данные и сериализуем в json
query_data = cursor.execute("SELECT project_name, countryname, lendprojectcost FROM data_load")
for row in cursor:
data_json = row
return jsonify(data_json)
return render_template('index.html')
#Закрываем соединение
cursor.close()
conn.close()
if __name__=="__main__":
app.run(host='0.0.0.0', port=5000, debug='true')
Принимаю данные d3.js:
d3.json("/get_data", function(error, data_json){
data_json.map(function(d) {
return d.project_name
})
});
Запускаю тестовый сервер в Firefox'e и получаю один объект
{
"countryname": "Republic of Kenya",
"lendprojectcost": "300000000",
"project_name": "KENYA: NATIONAL URBAN TRANSPORT IMPROVEMENT PROJECT"
}
И сообщение в консоли браузера
Простой текстовый документ не содержит объявления кодировки символов. Если документ содержит символы, не входящие в диапазон US-ASCII, то в некоторых конфигурациях браузера в документе будет отображён искажённый текст. Кодировка символов файла должна быть объявлена в протоколе передачи или файл должен использовать индикатор порядка байтов (BOM) в качестве сигнатуры кодировки.
По сути не принимаю данные d3.js. Как правильно осуществить этот не сложный процесс. Как вернуть json в html ?