在Django的tables2格式化表格单元格的内容(formatting table cell c

2019-07-31 13:12发布

爱Django的表...但东西,我敢肯定是微不足道的解决是给我适合。 当值我考上一个给定的行/列是这样的:

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

我希望浏览器解析和渲染单元格中的内容......看起来像这样:

一些
随机

返回

无法逃避我传递的内容和这样显示出来:

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

肯定有一些标志或选项,我已经错过了吗?

Answer 1:

如下使用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')

同样的问题被要求在此线程



Answer 2:

如果你的一些数据已经包含HTML,最简单的解决方法是使用一个TemplateColumn ,而不是一个正常的列和标记值作为安全:

class Table(tables.Table):
    html_data = tables.TemplateColumn("{{ value|safe }}")
    # ...


Answer 3:

哈。 找到了。 这不是Django的tables2这是自动转义我的内容,这是Django的模板系统本身: https://code.djangoproject.com/wiki/AutoEscaping 。

我不得不改变我的模板代码呈现Django的表2所示:

{% autoescape off %}
    {% load render_table from django_tables2 %}
    {% render_table route_table %}
{% endautoescape %}


文章来源: formatting table cell content in django-tables2