python - Django:仅显示今天的条目时的时区问题

标签 python django

我试图获取今天的所有条目,然后根据用户的时区将其显示给该用户。它们通过日期时间字段存储。我遇到的问题是所有时间都存储在 GMT 中,所以当我提取今天的记录时,它们在日期方面交叉,所以一些条目可能是 7 月 3 日,而一些条目可能是 7 月 4 日。然后当它通过时区标签显示给用户时,什么不是(比如东部时间),用户将看到昨天的条目以及今天的条目。我有任何标签或不同的方法可以用来解决这个问题。

View .py

 def get_entry(request):
    start_date = timezone.now().date()
    end_date = start_date + timedelta( days=1 )
    todays_entry = game.objects.filter(date__range=(start_date,end_date)).order_by('date').all()
    return render(request, 'home.html', {'todays_entry':todays_entry})

模板.py

 {% load tz %}
 {% localtime on %}
   {% for x in todays_entry %}
      {{x.date}}.........
   {% endfor %}
 {% endlocaltime %}

输出类似于

July 3, 2015, 8:05 p.m, 
July 3, 2015, 9:05 p.m, 
July 4, 2015, 1:05 p.m, 
July 4, 2015, 1:05 p.m

我真正想要的只是今天的东西......

最佳答案

你可以试试:

def get_entry(request):
   today = datetime.datetime.now().today()
   todays_entry = game.objects.filter(date__year=today.year, date__month=today.month, date__day=today.day)
   return render(request, 'home.html', {'todays_entry':todays_entry})

过滤后不需要.all()

关于python - Django:仅显示今天的条目时的时区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31220868/

相关文章:

python - Python 究竟是如何检查列表的?

python - 如何从 Google Dataflow 中的 PCollection 中获取元素列表并在管道中使用它来循环写入转换?

django - 如何在一个 JSON 请求中 POST 多个对象?

python - Django导入导出如何将当前管理员用户添加到模型中

django - Crispy 表单抛出 VariableDoesNotExist 错误,无法在表单上查找键 [html5_required]

python - 美国选举日的 Pandas 假期日历规则

python - 从 Bokeh 中的 x 轴获取所需的日期时间值

javascript - 如何从 Django 模板中调用特定的 python 函数

python - 像在 Django Admin 中一样创建前端表单

python - 模型继承和多态性问题