django-tables2:未呈现 target="_blank"

django-tables2 : target="_blank" is not rendered

我按照文档中的建议编写了此 class 以呈现 url 列:

class MyTable(ColumnShiftTable):
    uri = tables.URLColumn()

from django.utils.html import format_html
class URLColumn(tables.Column):
    def render(self, value):
        return format_html('<a href="%s" target="_blank">%s</a>' % value)

但是_blank目标没有出现在页面源代码中,只有href出现。可能是 Django 问题或 django-tables2,我还没找到原因。

我终于找到了使用 TemplateColumn 的方式:

uri = tables.TemplateColumn('<a href="{{record.uri}}" target="_blank">{{record.uri}}</a>')