我有一个DatetimeField,在django管理界面中,根据它与现在时间的差值来进行高亮显示。
def valid_up_to_column(self):
now = datetime.datetime.now(datetime.timezone.utc)
delta = (now - self.valid_up_to).seconds
if delta > 900:
colour = '#FF0000' # red
else:
return self.valid_up_to
return format_html('<span style="background-color: {}">{}</span>', colour, self.valid_up_to)
当使用format_html时,日期时间以原始的2017-01-01 00:00+00:00 UTC格式呈现,但对于其他情况,Django的区域设置接管并根据语言环境进行格式化,例如Jan 1 2017, midnight。
如何在将其传递给format_html()之前将日期时间格式化为与Django相同的格式?
我尝试使用strftime(settings.DATETIME_FORMAT),但这是django DATETIME_FORMAT,不同于Python的字符串格式化。