Django admin 后台自定义颜色选项卡

作者 夜狼荼 2019年02月19日 09:39 阅读 1874

先上成品效果图: 改效果引用的jscolor插件

model.py

class Post(models.Model):
    title = models.CharField(max_length=70, verbose_name='标题')
	...

    def title_color(self):
        if self.color is not '':
            return format_html('<font style="color: {}">{}</font>', self.color, self.title)
        else:
            return self.title
    title_color.short_description = '标题'  # 给title_color函数定义标题,会显示在后台标题上

admin.py

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    list_display = ['pk', 'title_color']

    # 引入静态文件
    class Media:
        js = [
            '/static/admin/js/jscolor.js',
        ]

如果没有model没有定义title_color.short_description = '标题',那么标题会显示如下图,变成英文字母

发表评论