我有一些数据存储在MySQL数据库中,希望使用d3.js来将数据可视化为一个气泡图。请问我能否在Django框架中实现这个需求?如果可以,具体怎么做呢?
是的,您可以使用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',
}
conn = MySQLdb.connect (host = "127.0.0.1",
user = "root", # mysql root
passwd = "root", # mysql root password
db = "myDB")
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()
]
你可以从views.py连接到MySQL数据库并查询数据,然后以所需格式(可能是JSON、CSV或XML)将其传递给HTML页面。从页面调用d3js脚本,并使用传递的对象作为数据。