我在MySQL数据库中有我的数据,我需要将d3.js中的数据可视化为气泡图。我是否有可能在Django框架中这样做,如果是这样的话?
答案 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: