Django 管理员。当对象具有布尔字段== True时,如何为列表视图中的每一行添加背景颜色?
Posted
技术标签:
【中文标题】Django 管理员。当对象具有布尔字段== True时,如何为列表视图中的每一行添加背景颜色?【英文标题】:Django Admin. How to add background color for each row in list view, when object has boolean field == True? 【发布时间】:2018-11-20 09:51:19 【问题描述】:我的环境是:Django 2.0.6,Python 3.6.4
我有标准的 Django Admin(内联编辑):
当对象具有字段is_active_city=True
时,如何为列表视图中的每一行添加背景颜色?比如background-color: green;
代表is_active_city=True
,像这样:
【问题讨论】:
不使用第三方应用程序的示例:***.com/a/4021083/2091925 @WillKeeling 是的,它适用于每个单独的单元格,但不适用于整行。 @Bijoy 你能告诉我,你在 Django2.x
上检查非第三方示例的作品吗?
【参考方案1】:
有一个包django-liststyle
可以满足你的需要
使用pip install django-liststyle==0.2b
安装它
然后在 settings.py 中将'liststyle'
添加到INSTALLED_APPS
列表中。
所以现在相关模型的 admin.py 将是
from liststyle import ListStyleAdminMixin
class CityAdmin(admin.ModelAdmin, ListStyleAdminMixin):
...
def get_row_css(self, obj, index):
if obj.is_active_city:
return 'green'
return 'red' # or any color for False
注意:如果有关于future
包错误的问题,请参考此link
【讨论】:
这个包在 Django2.x
中不起作用。显示TemplateSyntaxError: 'future' is not a registered tag library.
但是My env is: Django 2.0.6, Python 3.6.4
我在第一个问题中写道。那么,django-liststyle
不支持 Python 3.x 和/或 Django 2.x?为什么推荐给我?
这个包兼容python 3,如果它支持python 3那我肯定会推荐它。
但老实说我没有检查django 2
。
@VicShóstak 你能告诉我你的错误的完整追溯以上是关于Django 管理员。当对象具有布尔字段== True时,如何为列表视图中的每一行添加背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章