django引入echarts,获取MySQL数据
时间: 2024-05-13 20:19:53 浏览: 84
Django中从mysql数据库中获取数据传到echarts方式
3星 · 编辑精心推荐
要在Django中引入ECharts并获取MySQL数据,您可以按照以下步骤进行操作:
1. 安装echarts和pymysql库
```
pip install echarts-python
pip install pymysql
```
2. 在Django的settings.py文件中配置MySQL数据库连接
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_database_name',
'USER': 'your_database_username',
'PASSWORD': 'your_database_password',
'HOST': 'your_database_host',
'PORT': 'your_database_port',
}
}
```
3. 在views.py文件中编写获取MySQL数据的方法
```python
import pymysql
from django.http import JsonResponse
from echarts import Echart, Legend, Pie
def get_mysql_data(request):
# 连接MySQL数据库
conn = pymysql.connect(
host='your_database_host',
port=your_database_port,
user='your_database_username',
password='your_database_password',
db='your_database_name',
charset='utf8')
try:
# 执行SQL查询
with conn.cursor() as cursor:
sql = 'SELECT * FROM your_table_name'
cursor.execute(sql)
results = cursor.fetchall()
# 将查询结果转换为ECharts所需的数据格式
data = []
for result in results:
data.append({'value': result[0], 'name': result[1]})
# 创建ECharts图表
chart = Echart('Pie')
chart.use(Pie('Your Title', data))
chart.use(Legend(['Item']))
return JsonResponse(chart.json)
finally:
conn.close()
```
4. 在urls.py文件中添加路由
```python
from django.urls import path
from .views import get_mysql_data
urlpatterns = [
path('get_mysql_data/', get_mysql_data, name='get_mysql_data'),
]
```
5. 在前端页面中引入ECharts库,并发送Ajax请求获取MySQL数据
```html
<html>
<head>
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.1/echarts.min.js"></script>
</head>
<body>
<div id="chart" style="width: 600px;height:400px;"></div>
<script>
// 发送Ajax请求获取数据
$.ajax({
url: '/get_mysql_data/',
type: 'GET',
dataType: 'json',
success: function (data) {
// 渲染ECharts图表
var chart = echarts.init(document.getElementById('chart'));
chart.setOption(data);
}
});
</script>
</body>
</html>
```
以上就是在Django中引入ECharts并获取MySQL数据的全部步骤,希望对您有帮助。
阅读全文