Django时区无法正常工作

问题描述

我正在尝试创建一个入门应用程序。其中一个页面用户处输入我的时区的当前日期和时间(我已将TIME_ZONE设置为“ Asia / Kolkata”),并将其保存在数据库中。查看此页面功能

def new_entry(request):
    date = timezone.Now()
    date = date.replace(second=0,microsecond=0)
    just_date = date.strftime('%d %B %Y')
    just_time = date.strftime('%H:%M')
    if request.method == 'POST':
        content = request.POST.get('content')
        ent = Entry(user=request.user,date=date,content=content)
        ent.save()
        return redirect('user')
    return render(request,'mainapp/new_entry.html',{'date':just_date,'time':just_time})

然后在另一个页面中,我从数据库获取显示所有这些日期。该页面的查看功能

def user(request):
    if request.method == 'POST':
    user_entries = Entry.objects.filter(user=request.user)
    return render(request,'mainapp/user.html',{'user_entries':user_entries})

在此页面的模板中,我访问date属性。问题是,当我在第一页的模板中查看日期时,它以UTC显示,而第二页中的日期以我想要的方式显示(即亚洲/加尔各答时区)。即使我已经明确设置了时区,为什么时区也会出现这种差异?

解决方法

设置时区后,还需要设置

// Timed out!
    if (errno_copy == THRIFT_ETIMEDOUT) {
      throw TTransportException(TTransportException::TIMED_OUT,"THRIFT_ETIMEDOUT");
    }

请参阅:https://docs.djangoproject.com/en/3.1/topics/i18n/timezones/