You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中使用df.to_html无法渲染pandas dataframe问题求助

问题修复方案

你当前的代码存在两处需要调整的问题:

  • 视图函数未将生成的表格HTML内容传入模板上下文,模板无法读取df变量
  • Django模板默认会转义HTML内容,直接输出会显示原始标签而非渲染为可视化表格

修改views.py

调整视图逻辑,将df变量传入渲染上下文,可选提前标记为安全字符串:

from django.shortcuts import render
import pandas as pd
from django.utils.safestring import mark_safe


def index(request):
    df = pd.DataFrame(
        {'Nome': ['Beatriz', 'Ana', 'Flávia', 'Bianca'],
         'Idade': [23, 24, 24, 19],
         'Profissao': ['Analista de Sistemas', 'Advogada', 'Promotora', 'Jornalista'],
         'Renda_mensal': [5000, 8000, 15000, 4500]
        })
    df_html = df.to_html()
    # 标记为安全HTML,避免模板自动转义
    safe_df = mark_safe(df_html)
    # 把变量传入模板上下文字典
    return render(request, 'index.html', {'df': safe_df})

修改index.html

如果没有在视图侧做安全标记,需要在模板变量后添加safe过滤器关闭转义:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Home</title>
</head>
<body>
    <h1>Em construção</h1>
    <!-- 若视图已标记安全,可省略|safe后缀 -->
    {{ df|safe }}
</body>
</html>

两种转义处理方式二选一即可,不需要同时配置。

内容的提问来源于stack exchange,提问作者BeatrizGomes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 09:36:01