喜欢 django-tables ......但我确信解决起来很简单的事情让我很适应。当我为给定行/列传递的值类似于:
some<br/>random<br/>words<br/>returned
我希望浏览器解析和呈现该单元格中的内容......看起来像这样:
返回了一些
随机
单词
不要逃避我传递的内容并像这样显示它:
some<br/>random<br/>words<br/>returned
肯定有一些我错过的标志或选项吗?
喜欢 django-tables ......但我确信解决起来很简单的事情让我很适应。当我为给定行/列传递的值类似于:
some<br/>random<br/>words<br/>returned
我希望浏览器解析和呈现该单元格中的内容......看起来像这样:
返回了一些
随机
单词
不要逃避我传递的内容并像这样显示它:
some<br/>random<br/>words<br/>returned
肯定有一些我错过的标志或选项吗?
使用 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')
在这个帖子中问了同样的问题
如果您的某些数据已经包含 HTML,最简单的解决方案是使用 aTemplateColumn
而不是普通列并将值标记为安全:
class Table(tables.Table):
html_data = tables.TemplateColumn("{{ value|safe }}")
# ...
哈。找到了。自动转义我的内容的不是 django-tables2,而是 django 模板系统本身:https ://code.djangoproject.com/wiki/AutoEscaping 。
我不得不改变我的模板代码来呈现 django-table2 像这样:
{% autoescape off %}
{% load render_table from django_tables2 %}
{% render_table route_table %}
{% endautoescape %}