关于 django的时间机制

最近在做一个日常打卡的项目,碰到了一点问题,日期到第二天不能正确辨认

today = timezone.now.date()
def log:
    log = Logs.object.filter(date=today)
    if log:
        do something
    else:
        do somethng

当我在服务器运行时,第一次打卡是正确的,可是到第二天的时候,理论上应该出现 else 的情况,可是却不出来,必须重启 uwsgi 才可以,请教下这是什么问题呢?该如何解决?

阅读 2.2k
1 个回答

today放在全局域里面,服务器启动的时候,today会一直保存在内存里面,直到服务器下次重启之前,该值理论上都不会变化,所以就会出现你上述的情况。试试这样:

def log:
    today = timezone.now.date()
    l = Logs.object.filter(date=today)
    if l:
        do something
    else:
        do somethng
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题