我需要在管理界面网格列中生成外部链接,但它们显示为 html 代码:
<a href="http://www.site.com/">site</a>
管理界面将我的链接翻译为 html-entities 并且它们没有显示为正确的链接。是否可以在那里显示外部链接,而不是 html 代码?
我认为list_display_links不适用于此目的。
谢谢!
我需要在管理界面网格列中生成外部链接,但它们显示为 html 代码:
<a href="http://www.site.com/">site</a>
管理界面将我的链接翻译为 html-entities 并且它们没有显示为正确的链接。是否可以在那里显示外部链接,而不是 html 代码?
我认为list_display_links不适用于此目的。
谢谢!
只需在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
在 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,
)