python - django-admin:如果条件为真,则将列字体更改为红色

标签 python django django-admin

我有一个 vlog,我可以将 vlog 条目预加载到数据库中,这样当 vlog-published-date 的日期小于 now 的模型字段时, 视频日志条目将自动显示/发布。

vlog_published_date 的日期大于 now 时,如何使 Vlog Date Published 字体的 django-admin 列变为红色(尚未发布)?

这是我的意思的一个直观示例,其中 now 日期是 2018 年 1 月 16 日:

enter image description here

这是我的视频博客 models.py 代码:

class VlogDetails(models.Model):
    ....
    vlog_date_published = models.DateField(null=False, blank=False, default=datetime.now, help_text='The date the vlog video will be made public.')
    ....

    class Meta:
        ....

有这个similar thread ,但该线程已有 7 年以上历史,我希望有关于 django 1.10 和 python 3.5 的最新信息。

最佳答案

这是答案 - 我希望这对某人有所帮助!

这是我的 models.py 代码:

class VlogDetails(models.Model):
    ....
    vlog_date_published = models.DateField(null=False, blank=False, default=datetime.now, help_text='The date the vlog video will be made public.')
    ....

    # date published replaces vlog_date_published in the admin - displays red date when vlog not published.
    def date_published(self):
        if self.vlog_date_published > datetime.today().date():
            return format_html('<span style="color: #cc0033; font-weight: bold;">{0}</span>', self.vlog_date_published.strftime('%b. %d, %Y'))
        else:
            return format_html('<span style="color: #000;">{0}</span>', self.vlog_date_published.strftime('%b. %d, %Y'))

    date_published.allow_tags = True

    class Meta:
        ....

这是我的 admin.py 代码:

list_display = [
    u'id',
    #'vlog_date_published', # vlog_date_published now replaced by date_published.
    'date_published',
    'vlog_title',
    ....
]

这是视觉表示:

enter image description here

关于python - django-admin:如果条件为真,则将列字体更改为红色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48272940/

相关文章:

python - pandas 1.2.1 to_csv performance with datetime 作为索引并设置 date_format

django - Django 开发服务器的终端输出中的蓝色文本是什么意思?

django - 如何使用其他获取变量对 Django 进行分页?

python - group-by 输出中 DateTimeFields 的 Django 时间戳列表

python - Django管理页面:通过多个模型选择而不是原始文本来自定义ID的字典(JSONField)

python - 比较两个numpy数组的最快方法

python - 使用另一个数据框替换数据框中的零值

django-admin - 在 Django Admin 中将预填充的 slug 字段设为只读

django - 对于当前上下文而言,量化结果的位数过多

python - 从 IPython 运行 Flask 引发 SystemExit