Python Flask, как вернуть данные json в template и принять их d3.js?

Вьюшка которая отдаёт 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 ?
  • Вопрос задан
  • 1655 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы