Django中Pandas生成的HTML表格无法正常显示问题求助
问题解决:Django模板中Pandas生成的HTML表格显示为代码而非渲染表格
问题根源:Django模板默认会自动转义变量中的HTML特殊字符(如<、>、"),因此直接使用{{a_html}}时,HTML代码会被原样输出,而非渲染成表格。
解决方法一:使用模板的safe过滤器
直接在模板中给变量添加safe过滤器,告诉Django该内容是安全的HTML,无需转义:
<body> {{ a_html|safe }} </body>
解决方法二:在视图中标记内容为安全
导入Django的mark_safe函数,将生成的HTML内容标记为安全后再传入模板:
from django.utils.safestring import mark_safe import pandas def your_view(request): a_query=""" select * FROM db """ a = pandas.read_sql_query(a_query, connection) # 标记HTML内容为安全 a_html = mark_safe(a.to_html(index=False)) return render(request, 'index.html', {'a_html':a_html})
此时模板中直接使用{{a_html}}即可正常渲染表格。
内容的提问来源于stack exchange,提问作者xlxdxf
相关产品推荐
相关产品推荐

