需求描述
在Django的后台实际开发过程中,我们直接建立模型后可以很快的生成一个列表。那么如何在后台list列表中自定义某个列的单元格中的字体颜色呢?效果如下图所示:
代码实例
在 admin.py
中自定义一个方法, statusColored
:
from scheduling import models
from django.utils.html import format_html
class ComputerRoomAdmin(admin.ModelAdmin):
list_display = ('id', 'name','type','statusColored','weights')
list_display_links = ('id','name')
ordering = ('-status','weights',)
list_filter = ('type','status')
def statusColored(self , obj):
if obj.status == 0:
return format_html('<span style="color:red">{}</span>','停用')
else:
return format_html('<span style="color:green">{}</span>','在用')
statusColored.short_description = "状态"
admin.site.register(models.ComputerRoom , ComputerRoomAdmin)
models.py
模型中,我们的设置为 choices
statusChoices = (
(0,'停用'),
(1,'在用')
)
status = models.IntegerField( choices=statusChoices,verbose_name='状态' , default=1 )