微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django 时区不会记录用户的时区

如何解决Django 时区不会记录用户的时区

所以我刚刚部署了一个 django 网络应用,但令我惊讶的是,它记录了所有带有 UTC +0 的时间对象。他们都!不管用户timezone

我在设置中有 USE_TZ = True。这是我要插入时间的地方。

模型.py

class Timesheet(models.Model):
  ....
    start_date = models.DateTimeField(default=timezone.Now)
  ....

   def save(self,*args,**kwargs):
       entry = Timesheet.objects.filter(id=self.request.user)
       if entry.exists():
           Timesheet.objects.filter(id=self.request.user).update(end_date=timezone.Now())
           ...
       super().save(*args,**kwargs)

如何让它使用美国各地用户的时区?

解决方法

您需要使用 localtime(now()) 而不是 timezone.now()

from django.utils.timezone import localtime,now
localtime(now())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。