python - 有没有办法在 Django 管理站点中显示(十六进制颜色)字段的颜色?

标签 python django colors hex

我在 Django 3 中有一个模型:

class Ingredient(models.Model):
    name_EN = models.CharField(max_length=100, unique=True, null=True)
    hexcolor = models.CharField(max_length=7, default="#ffffff")

    def __str__(self):
        return self.name_EN

这会列出成分并为其关联一个名称,例如'Dill' 或 'Tomato',以及 'hexcolor',例如#C5E1A5 或#DD2C00。目前,从管理站点,我可以看到列为成分的 name_EN 的成分,当我点击时也可以看到 hexcolor 值 (#......)。但我希望看到 name_EN 旁边列出的实际颜色,这样我就可以看到它(并在需要时更改)。它不一定需要颜色选择器,这可能很好,但我首先寻求如何显示颜色(例如 hexcolor 字段的背景颜色?)。

在何处以及如何执行此操作有什么建议吗?将不胜感激。

最佳答案

Django3 documentation 中所述,您可以使用如下所示的 colored_name 方法来完成此操作:

from django.contrib import admin
from django.db import models
from django.utils.html import format_html

class Ingredient(models.Model):

    name_EN = models.CharField(max_length=100, unique=True, null=True)
    hexcolor = models.CharField(max_length=7, default="#ffffff")

    def colored_name(self):
        return format_html(
            '<span style="color: #{};">{}</span>',
            self.hexcolor,
        )


class IngredientAdmin(admin.ModelAdmin):
    list_display = ('name_EN', 'hexcolor', 'colored_name')

关于python - 有没有办法在 Django 管理站点中显示(十六进制颜色)字段的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61792078/

相关文章:

javascript - 无法加载资源:net::ERR_NAME_NOT_RESOLVED

django - Django模板标记在多行

r - 如何在R中生成一些最有特色的颜色?

iPhone SDK 反转 UIImage 的颜色

python - SQLAlchemy,急切加载 postgresql INET/CIDR 关系

python - 从 3D 数组中减去 2D 数组

python - 如何绘制我的 groupby() 结果?

Django : show the username to the user when logged in

python - 删除具有 >N NaN 的列,不包括特定列

python - Kivy 颜色代码是什么以及它们如何工作?