django框架下,前端Tabulator引用后台pandas的dataframe
时间: 2023-08-17 11:10:56 浏览: 173
可以在Django视图函数中,将pandas的dataframe转换为JSON格式,然后在前端页面中使用Tabulator加载这个JSON数据。下面是一个简单的示例代码:
```python
# views.py
import pandas as pd
from django.http import JsonResponse
def tabulator_data(request):
# 从数据库中获取数据,并转换为pandas的dataframe对象
data = pd.read_sql('SELECT * FROM my_table', connection)
# 将dataframe转换为JSON格式
data_json = data.to_json(orient='records')
# 返回JSON数据
return JsonResponse(data_json, safe=False)
```
在前端页面中,可以使用Tabulator加载这个JSON数据:
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Tabulator Demo</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tabulator/4.9.3/css/tabulator.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/tabulator/4.9.3/js/tabulator.min.js"></script>
</head>
<body>
<div id="tabulator-table"></div>
<script>
// 使用Ajax获取数据
$.ajax({
url: '/tabulator_data/',
type: 'GET',
success: function(data) {
// 将JSON数据转换为数组
var data_array = JSON.parse(data);
// 创建Tabulator表格
var table = new Tabulator("#tabulator-table", {
data: data_array,
columns: [
{title: "Column 1", field: "col1"},
{title: "Column 2", field: "col2"},
{title: "Column 3", field: "col3"},
],
});
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('Error: ' + textStatus + ' - ' + errorThrown);
}
});
</script>
</body>
</html>
```
这里使用了jQuery的Ajax来获取数据,并使用Tabulator创建表格。需要注意的是,Tabulator的列名和字段名需要与转换后的JSON数据中的键名保持一致。
阅读全文