【问题标题】:Django admin list_display show full text on mouse hoverDjango admin list_display 在鼠标悬停时显示全文
【发布时间】:2020-09-26 05:25:04
【问题描述】:

有一个名为 address 的 TextField。 它通常包含 100 多个字符。 我可以截断字符串,但我希望发生以下情况: 将鼠标悬停在截断部分上时,应显示全文。

【问题讨论】:

    标签: javascript django-templates django-admin


    【解决方案1】:

    如果您不需要编辑list_display 中的地址,那么您可以创建一个只读字段并使用它:

    from django.utils.html import format_html
    
    class MyAdmin(admin.ModelAdmin):
        class Media:
             css = {
                 'all': ("styles.css",)
             }
    
        list_display=(
            ...other fields,
            list_display_address,
        )
    
        def list_display_address(self, instance):
            return format_html(
                '<span class="truncated_address" title="{}">{}</span>', 
                instance.address,
                instance.address
            )
    
    
    • 只读字段的工作方式是返回 modelAdmin 上的方法的值。
    • title 属性设置鼠标悬停在文本上。
    • 通过将以下内容添加到我们的styles.css,如果地址太长,我们可以截断地址。 (我假设它在一行上):
    .truncated_address{
      text-overflow: ellipsis;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-06-02
      • 1970-01-01
      • 2020-10-07
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 2012-09-21
      • 1970-01-01
      相关资源
      最近更新 更多