格式化django-tables2中的表格单元格内容

时间:2012-09-11 22:14:12

标签: django django-tables2

爱django-tables ...但是我确定无法解决的问题是让我适应。当我为给定行/列传递的值类似于:

some<br/>random<br/>words<br/>returned

我希望浏览器解析并呈现该单元格中的内容......看起来像这样:


返回一些
随机
词语

转义我传递的内容并将其显示如下:

some<br/>random<br/>words<br/>returned

肯定有一些我错过的旗帜或选项?

3 个答案:

答案 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 %}