【问题标题】:How possible to show external links in Django Admin Interface?如何在 Django 管理界面中显示外部链接?
【发布时间】:2009-04-09 09:57:48
【问题描述】:

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

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

管理界面将我的链接翻译为 html 实体,但它们不会显示为正确的链接。 是否可以在那里显示外部链接,而不是 html 代码?

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

谢谢!

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    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
    

    【讨论】:

      【解决方案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,
              )
      

      【讨论】:

        猜你喜欢
        • 2011-01-27
        • 1970-01-01
        • 2017-08-12
        • 2013-07-09
        • 1970-01-01
        • 1970-01-01
        • 2020-06-17
        • 2014-04-26
        • 2011-03-05
        相关资源
        最近更新 更多