所以我有一个Django视图,允许用户上传一个文件,其中包含要通过Pandas数据帧绘制的数据。然后在单独的视图中创建图形,该视图通过图像标记在原始文件上载视图中引用。这非常有效。
现在我还希望在图表图像旁边以表格格式显示数据。我使用Panda内置dataframe.to_html()
在单独的视图中创建表格,该视图也将在文件上传视图中引用。
我正确生成了表,可以在为表指定的URL中看到。当我尝试从文件上传模板中引用该URL时,我遇到了错误。
错误是:
Resource interpreted as Image but transferred with MIME type text/html
我发现这是因为我的文件上传模板有这一行:
<img src="{% url 'html_graph' %}" />
因为视图返回HttpResponse
content_type
text/html
。
有没有办法从我的文件上传模板中引用那个不使用图片代码的HTML表格视图,因为该表格是HTML而不是图片?
这是我的工作实施:
html_table = df.to_html(index=False)
return render_to_response('myapp/my_template.html', {'html_table': html_table}, RequestContext(request))
然后我在模板中引用html_table
,如:
<div>
{{ html_graph | safe }}
</div>
答案 0 :(得分:1)
要解决此问题,您可以执行以下操作之一:
<pre>
标记所有转义的字符(如< >
等)都将呈现,因为它可以完成: <pre>
{{ html_table }}
</pre>
autoescape
过滤器可以完成: {% autoescape off %}
{{ html_table }}
{% endautoescape %}
第二种选择更好,因为它是由django给出的,只有开发者才有权使用它。