若表达式为True,则在django管理界面中更改字段的字体/颜色
在django管理界面的更改列表视图中,如果某些字段/行实现表达式,是否可以将其标记为红色若表达式为True,则在django管理界面中更改字段的字体/颜色,django,django-models,django-admin,Django,Django Models,Django Admin,在django管理界面的更改列表视图中,如果某些字段/行实现表达式,是否可以将其标记为红色 例如,如果有一个模型组,其中有成员和容量,我怎样才能看到它们是满的还是拥挤的?要修改更改列表视图中显示的方式和内容,可以使用选项 请注意,list\u display中给出的非真实数据库字段的列不能用于排序,因此需要向Django管理员提示实际使用哪个数据库字段进行排序 例如,可以通过将admin\u order\u field属性设置为用于在HTML中封装某些值的可调用项来实现这一点 Django文档中
例如,如果有一个模型
组
,其中有成员
和容量
,我怎样才能看到它们是满的还是拥挤的?要修改更改列表视图中显示的方式和内容,可以使用选项
请注意,list\u display
中给出的非真实数据库字段的列不能用于排序,因此需要向Django管理员提示实际使用哪个数据库字段进行排序
例如,可以通过将admin\u order\u field
属性设置为用于在HTML中封装某些值的可调用项来实现这一点
Django文档中彩色字段的示例:
class Person(models.Model):
first_name = models.CharField(max_length=50)
color_code = models.CharField(max_length=6)
def colored_first_name(self):
return '<span style="color: #%s;">%s</span>' % (
self.color_code, self.first_name)
colored_first_name.allow_tags = True
colored_first_name.admin_order_field = 'first_name'
class PersonAdmin(admin.ModelAdmin):
list_display = ('first_name', 'colored_first_name')
班级人员(models.Model):
first_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def colored_名字(自我):
返回“%s”(
self.color\u代码、self.first\u名称)
彩色\u first\u name.allow\u tags=True
彩色\u first\u name.admin\u order\u字段='first\u name'
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'colored\u first\u name')
我希望其中有些帮助。要修改“更改列表”视图中的显示方式和内容,可以使用选项 请注意,
list\u display
中给出的非真实数据库字段的列不能用于排序,因此需要向Django管理员提示实际使用哪个数据库字段进行排序
例如,可以通过将admin\u order\u field
属性设置为用于在HTML中封装某些值的可调用项来实现这一点
Django文档中彩色字段的示例:
class Person(models.Model):
first_name = models.CharField(max_length=50)
color_code = models.CharField(max_length=6)
def colored_first_name(self):
return '<span style="color: #%s;">%s</span>' % (
self.color_code, self.first_name)
colored_first_name.allow_tags = True
colored_first_name.admin_order_field = 'first_name'
class PersonAdmin(admin.ModelAdmin):
list_display = ('first_name', 'colored_first_name')
班级人员(models.Model):
first_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def colored_名字(自我):
返回“%s”(
self.color\u代码、self.first\u名称)
彩色\u first\u name.allow\u tags=True
彩色\u first\u name.admin\u order\u字段='first\u name'
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'colored\u first\u name')
我希望其中的一些帮助。此外,您可以使用
colored_first_name.short_description = 'first name'
此外,您还可以使用
colored_first_name.short_description = 'first name'
对于一个好的专栏标题这是一个老问题,但我将从文档中为
Django 1.10
添加一个示例,因为在接受的答案中使用的allow_tags
属性已被弃用,因为Django 1.9
,建议改用:
来自django.db导入模型的
从django.contrib导入管理
从django.utils.html导入格式\u html
班级负责人(models.Model):
first_name=models.CharField(最大长度=50)
last_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def颜色_名称(自身):
返回格式(
'{} {}',
self.color\u代码,
self.first_name,
self.last_name,
)
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'last\u name'、'colored\u name')
这是一个老问题,但我将从文档中为Django 1.10
添加一个示例,因为在接受的答案中使用的allow_tags
属性已被弃用,因为Django 1.9
,建议改用:
来自django.db导入模型的
从django.contrib导入管理
从django.utils.html导入格式\u html
班级负责人(models.Model):
first_name=models.CharField(最大长度=50)
last_name=models.CharField(最大长度=50)
颜色代码=models.CharField(最大长度=6)
def颜色_名称(自身):
返回格式(
'{} {}',
self.color\u代码,
self.first_name,
self.last_name,
)
类PersonAdmin(admin.ModelAdmin):
列表显示=('first\u name'、'last\u name'、'colored\u name')
谢谢,.allow\u标签完成了任务。回答得很好@rebus。是否有任何方法可以将colored\u first\u name
函数和属性绑定到PersonAdmin
而不是模型?为模型指定特定于管理员的属性似乎有些奇怪。@coonceasan是的,list\u display的值可以是模型或admin类上方法的字符串名称,也可以是对可调用对象的引用allow_tags
属性从Django 1.9
开始被弃用,我添加了一个单独的答案,并使用format_html
Method添加了一个示例。谢谢。allow_tags完成了这项工作。答案很棒@rebus。是否有任何方法可以将colored\u first\u name
函数和属性绑定到PersonAdmin
而不是模型?为模型指定特定于管理员的属性似乎有些奇怪。@coonceasan是的,list\u display的值可以是模型或admin类上方法的字符串名称,也可以是对可调用对象的引用allow_tags
属性从Django 1.9
开始就被弃用,我用format_html
方法添加了一个单独的答案