我想在管理站点中的admin list_display参数之一计算特殊值时更改行颜色/列颜色。 我是Django新手。 我不知道如何破解管理界面。我为自己的应用程序管理此问题如下: 我写了一个函数来计算一个返回timedelta值的平衡时间:
models.py
def balanced_time(self):
t = self.gew_zeit - datetime.now()
...
return timedelta(t.days, t.seconds, 0)
并使用颜色功能检查颜色的条件:
def color():
return gew_zeit - datetime.now() > timedelta(0, 18000, 0)
为了验证balanced_time值,我渲染了这个 app.html 模板表:
<table summary="This is one table from a database">
<caption>table entries of a model</caption>
<thead>
<tr>
<th align="left" scope="col">Count</th>
<th align="left" scope="col">Balanced Time</th>
</tr>
</thead>
<tbody>
{% if order_items %}
{% for item in order_items %}
<tr>
<td align="left" >{{ forloop.counter }}</td>
{% if item.color %}
<td>{{ item.balanced_time }}</td>
{% else %}
<td style="color:#ff0000;" >{{ item.balanced_time }}</td>
{% endif %}
</tr>
{% endfor %}
{% endif %}
</tbody>
</table>
现在,balanced_time列中的文本为红色,当其balanced_time为&lt; 5个小时。 所有这一切工作正常,但我不知道如何将此行为传递给管理员change_list_results.html模板,或者是否有另一种更有效的方法来管理管理网站。 我还找到了以下link1以及此link。但他们不适合我。也许我做错了什么。
答案 0 :(得分:3)
毕竟,以下link有效。
问题是颜色代码中的哈希符号是用“rebus”示例代码硬编码的,请参阅:
return '<span style="color: #%s;">%s</span>' % (
self.color_code, self.first_name)