如何使用d3.js

时间:2018-02-27 10:26:04

标签: python postgresql d3.js psycopg2

以前我使用 CSV 来存储数据,我正在制作图表。 但现在我想知道如何使用 d3.js PostgreSQL 获取数据。

如果有人知道请帮助我,我完全是PostgreSQL的新用户。

import psycopg2
import sys
from  flask import Flask,render_template
import os

os.chmod("/home/dell/Charts/static/data/data.csv", 0o777)
con = None
con = psycopg2.connect("host='localhost' dbname='mydb' user='postgres' password='Password'")  
cur = con.cursor()

cur.execute("""COPY data_lc TO '/home/dell/Charts/static/data/data.csv' DELIMITER ',' CSV HEADER;""")

cur.close()

此准则正常运作

但我想知道有没有办法直接从 D3.js

强烈要求获取 PostgreSQL

html代码

<div class="panel panel-default">
    <div class="panel-heading">
        <h4>LineChart</h4>
    </div>
    <div class="panel-body">
        <div id="linechart"></div>
    </div>
</div>
<script src="static/js/Linechart.js"></script>

1 个答案:

答案 0 :(得分:3)

您需要在flask中创建一个视图,以查询数据库并将结果作为json返回

import psycopg2
import sys
from  flask import Flask,render_template
from flask import jsonify

@app.route('/data')
def send_data():
    con = psycopg2.connect("host='localhost' dbname='mydb' user='postgres' password='Password'")  
    cur = con.cursor()
    cur.execute("""select * from  data_lc""")
    data = [col for col in cur]
    cur.close()
    return jsonify(data)

然后使用d3,您可以使用

调用网址
d3.json("https://your_flas_kapp.com/data").then(...)