django+layui+pandas+原生sql语句实现导出数据
时间: 2023-09-25 14:10:32 浏览: 140
django+layui
首先,你需要安装 Django、Layui 和 Pandas。然后,你可以按照以下步骤实现导出数据:
1. 在 Django 中创建一个视图函数,用于处理导出数据的请求。这个函数需要从数据库中获取数据,并将其转换为 Pandas DataFrame 对象。
```python
import pandas as pd
from django.http import HttpResponse
def export_data(request):
# 使用原生 SQL 查询获取数据
cursor = connection.cursor()
cursor.execute("SELECT id, name, age FROM myapp_person")
data = cursor.fetchall()
# 将数据转换为 Pandas DataFrame 对象
df = pd.DataFrame(data, columns=['id', 'name', 'age'])
# 将 DataFrame 对象转换为 CSV 格式
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="data.csv"'
df.to_csv(path_or_buf=response, index=False)
return response
```
2. 在 Django 中创建一个 URL 路由,将导出数据请求映射到导出数据视图函数。
```python
from django.urls import path
from . import views
urlpatterns = [
path('export_data/', views.export_data, name='export_data'),
]
```
3. 在 Layui 中创建一个按钮,用于触发导出数据请求。当用户点击这个按钮时,Layui 将发送一个 AJAX 请求到导出数据的 URL。
```html
<button id="export-btn" class="layui-btn">导出数据</button>
<script>
layui.use('jquery', function() {
var $ = layui.jquery;
$('#export-btn').click(function() {
window.location.href = '/export_data/';
});
});
</script>
```
当用户点击导出数据按钮时,浏览器将下载一个名为 data.csv 的 CSV 文件,其中包含从数据库中查询出来的数据。
阅读全文