我的数据在 MySQL 数据库中,我需要将 d3.js 中的数据可视化为气泡图。我是否可以在 Django 框架中执行此操作,如果可以,该怎么做?
问问题
6331 次
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 回答