给我一个django 连接数据库实现echart图标的案例
时间: 2023-05-25 10:03:13 浏览: 236
Echarts连接数据库实例
5星 · 资源好评率100%
这是一个基于 Django 和 echarts 的简单数据可视化示例,以下是具体的实现步骤:
1. 准备工作
需要安装 Django 和 echarts。在 Django 的 settings.py 中配置数据库连接信息,本示例使用的是 SQLite3:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
```
2. 创建数据库模型
创建一个简单的数据表,用于存储数据。本例中,我们创建了一个表格,用于存储不同颜色的球的数量。
```python
from django.db import models
class Ball(models.Model):
color = models.CharField(max_length=50)
quantity = models.IntegerField(default=0)
```
3. 添加数据
我们需要一个方法来添加一些数据到数据库中,以便在图表中显示。我们将添加以下数据:
```python
Ball.objects.create(color='red', quantity=10)
Ball.objects.create(color='green', quantity=20)
Ball.objects.create(color='blue', quantity=15)
```
4. 创建视图函数
在 Django 中,视图函数是用来处理请求并返回响应的。在本例中,我们将创建一个视图函数,该函数将从数据库中提取数据并以 JSON 格式返回。
```python
from django.http import JsonResponse
def ball_chart(request):
data = []
queryset = Ball.objects.all()
for ball in queryset:
data.append({'value': ball.quantity, 'name': ball.color})
return JsonResponse(data, safe=False)
```
5. 创建 URL 映射
我们需要将视图函数和 URL 映射在一起。这可以通过添加以下内容到 urls.py 文件中完成:
```python
from django.urls import path
from .views import ball_chart
urlpatterns = [
path('chart/', ball_chart, name='ball-chart'),
]
```
6. 在 HTML 模板中渲染图表
最后,我们需要在 HTML 模板中嵌入我们的图表。我们将使用 echarts.js 来渲染图表。
在 head 标签中添加以下代码:
```html
<head>
...
<!-- 引入 echarts.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.0.0/echarts.min.js"></script>
</head>
```
在 body 标签中添加以下代码:
```html
<body>
<h1>Ball Chart</h1>
<div id="chart" style="height:400px;"></div>
<script>
// 创建 echarts 实例
var myChart = echarts.init(document.getElementById('chart'));
// 发送 AJAX 请求获取数据
$.get("{% url 'ball-chart' %}", function(data) {
// 渲染图表
myChart.setOption({
title: {
text: 'Ball Quantity by Color'
},
tooltip: {},
series: [{
type: 'pie',
data: data
}]
});
});
</script>
</body>
```
这些步骤创建了一个简单的 Django 应用程序,用于从数据库中提取数据并在 echarts 中呈现图表。当我们运行应用程序时,在网页上应该会显示一个饼图,该饼图显示了不同颜色的球的数量。
阅读全文