3

我需要在管理界面网格列中生成外部链接,但它们显示为 html 代码:

<a href="http://www.site.com/">site</a>

管理界面将我的链接翻译为 html-entities 并且它们没有显示为正确的链接。是否可以在那里显示外部链接,而不是 html 代码?

我认为list_display_links不适用于此目的。

谢谢!

4

2 回答 2

9

只需在http://docs.djangoproject.com/en/dev/ref/contrib/admin/#list-display中走得更远

def colored_name(self):
    return '<span style="color: #%s;">%s %s</span>' % (self.color_code, self.first_name, self.last_name)
colored_name.allow_tags = True
于 2009-04-09T10:09:34.990 回答
2

在 Django 2.0 中执行此操作的正确方法是将字符串标记为安全 HTML。更好的是使用format_html()这样 Django 仍然可以逃避参数。

from django.utils.html import format_html

def my_link_field(self):
    return format_html(
            '<a href="{0}">{1}</a>',
            self.my_external_url,
            self.my_link_display_name,
        )
于 2018-01-05T00:07:45.410 回答