如何使用django可视化d3js中的mysql数据?

时间:2013-09-20 07:42:34

标签: mysql django d3.js

我在MySQL数据库中有我的数据,我需要将d3.js中的数据可视化为气泡图。我是否有可能在Django框架中这样做,如果是这样的话?

3 个答案:

答案 0 :(得分:8)

是的,你可以使用Django来做到这一点。您需要做的就是创建一个Django PyDev(python)应用程序。在 settings.py 文件中,将数据库命名为

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'myDB',  # your mysql database name    
        'USER': '123', # your mysql user for the database
        'PASSWORD': '123', # password for user
        'HOST': '127.0.0.1', 
        'PORT': '3306', 
        } 

views.py 的函数定义中,将mysql连接设为,

    conn = MySQLdb.connect (host = "127.0.0.1",
                        user = "root", # mysql root
                        passwd = "root", # mysql root password
                        db = "myDB")

使用游标从表中检索数据,然后转换为json,

cursor.execute ("select <column> from <table>")

rows=dictfetchall(cursor)


object_list = []
for row in rows:
    d = collections.defaultdict()
    d['name'] = row['name']       
    object_list.append(d)

j = json.dumps(object_list)
objects_file = 'path of json file to be created'
m = open(objects_file,'w')
print >> m,j    #to write to file
conn.close() 

def dictfetchall(cursor):
    "Returns all rows from a cursor as a dictionary"
    desc = cursor.description
    return [
        dict(zip([col[0] for col in desc], row))
        for row in cursor.fetchall()
    ]

现在您可以使用此json文件创建任何类型的d3j。

答案 1 :(得分:1)

您可以从views.py连接到MySql数据库并查询数据,然后将其以所需格式(可能是JSON,CSV或XML)传递给HTML页面。从页面调用d3js脚本并使用传递的对象对于数据

答案 2 :(得分:0)

也许您应该按照本教程指出您正在寻找的内容:

http://www.d3noob.org/2013/02/using-mysql-database-as-source-of-data.html

然后你可以直接将它集成到你的页面中,使用python和django-nvd3:

https://github.com/areski/django-nvd3