在 Django 中构建数据驱动的仪表板以及 pandas

Building a data driven Dashboard in Django along with pandas

问题陈述 - 我想做的是使用 Django 和 pandas 创建一个仪表板。 Pandas 将执行计算部分,Django 将显示数据和所有图表。

已实现:创建了一个应用程序并在视图文件中导入了 pandas。然后渲染它。虽然显示了我的数据,但它的错误屏幕显示了我的数据。我的理解是我必须使用模板来显示我的数据。

我的代码:

def index(request):
    df = pd.DataFrame(pd.read_csv("C:/Users/lol/Desktop/lol.csv"))
    dff = df[["column_one", "column_two", "column_three"]]
    dff = dff.set_index("column_one")
    return render(request, dff.head(5)) 

如果有人能指出如何以表格格式将数据框推送到网站。 当前 HTML 格式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>Hello Hi </p>
</body>
</html>

提前致谢,我是 Django 的新手。

pandas 中的数据帧有 to_html 方法可用于获取 html 字符串。您可以从视图中将此字符串传递到变量中,然后在模板中您可以像访问简单变量一样访问它。例如,您的 return 视图语句可以像

return render(request, template_name, context={'data': dataframe.to_html()})

然后在您的模板中,您只需使用 {{ data|safe }} 即可将其打印出来。

供参考,https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_html.html