djangoadmin 过期显示红色字体

发布时间 2023-04-12 09:04:57作者: super_ip

参考:https://docs.djangoproject.com/en/1.8/topics/i18n/timezones/#naive-and-aware-datetime-objects

起因:正常的dateime.now()得到的日期不能和Django数据库里面存储的日期数据做对比,两个解决办法:

1、是把Django配置里面的USE_TZ设置成False,这样Django的数据就没有时区信息了。

USE_TZ = False
import datetime
def end_time(self):
    nowdata=datetime.datetime.now()
    if self.endtime >= nowdata:
           return self.endtime
    else:
           return format_html('<font color=red>{}</font>',self.endtime)

2、是在这个对比情景下,不要用datetime.now()来得当前数据,用以下代码:

from django.utils import timezone  
  
now = timezone.now()