[英]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.