繁体   English   中英

动态添加类到django admin中特定字段的标签

[英]Dynamically add class to label tag of particular field in django admin

我有这个模特。 我正在尝试使'info'字段的标签标记更改background-color(如果认可= True)。 这是我的模型和管理文件

models.py

class MyModel(models.Model):
    name = models.CharField(max_length=100, unique=True)
    info = models.TextField(null=True, blank=True)
    approved = models.BooleanField(default=False)

admin.py

class MyModelAdminForm(forms.ModelForm):
    class Meta:
        model = MyModel


class MyModelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm
    list_display = ('name', 'info', 'approved',)

    fieldsets = (
        (None, {
            'fields': ('name', 'info')
        }),

    )

尝试这个:

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm
    list_display = ('name', 'info_colored', 'approved',)
    readonly_fields = ('info_colored',)

    fieldsets = (
        (None, {
            'fields': ('name', 'info', 'info_colored',)
        }),

    )

    def info_colored(self, obj):
        color = 'red'
        if obj.approved:
            color = 'green'
        return u'<b style="background:{};">{}</b>'.format(color, obj.info)
    info_colored.allow_tags = True
    info_colored.admin_order_field = 'info'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM