爱django-tables ...但是我确定无法解决的问题是让我适应。当我为给定行/列传递的值类似于:
some<br/>random<br/>words<br/>returned
我希望浏览器解析并呈现该单元格中的内容......看起来像这样:
返回一些
随机
词语
不转义我传递的内容并将其显示如下:
some<br/>random<br/>words<br/>returned
肯定有一些我错过的旗帜或选项?
答案 0 :(得分:7)
使用mark_safe如下:
import django_tables2 as tables
from django.utils.safestring import mark_safe
class testTable(tables.Tables):
id = tables.Column()
html = tables.Column()
def render_html(self):
return mark_safe('some<br/>random<br/>words<br/>returned')
同样的问题被问到in this thread
答案 1 :(得分:3)
如果您的某些数据已包含HTML,则最简单的解决方案是使用TemplateColumn
而不是普通列,并将该值标记为安全:
class Table(tables.Table):
html_data = tables.TemplateColumn("{{ value|safe }}")
# ...
答案 2 :(得分:1)
HA。找到了。不是django-tables2是自动转义我的内容,它是django模板系统本身:https://code.djangoproject.com/wiki/AutoEscaping。
我不得不改变我的模板代码来渲染django-table2,如下所示:
{% autoescape off %}
{% load render_table from django_tables2 %}
{% render_table route_table %}
{% endautoescape %}