4

我的数据在 MySQL 数据库中,我需要将 d3.js 中的数据可视化为气泡图。我是否可以在 Django 框架中执行此操作,如果可以,该怎么做?

4

2 回答 2

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 文件来创建任何类型的 d3js。

于 2013-09-20T08:18:36.377 回答
1

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

于 2013-09-20T08:01:42.443 回答