Django Отображение времени публикации в часовом поясе пользователя

Я новичок в Django. У меня есть модель с полем, которое записывает время создания новой записи, и я хочу отобразить время публикации новых записей в часовом поясе пользователя. Время записывается в UTC.

До сих пор я не смог заставить это работать. Я подозреваю, что мне нужно передать какую-то дополнительную информацию через представление, но мне не удалось это выяснить.

settings.py:

TIME_ZONE = 'UTC'
USE_TZ = True

модель:

from django.db import models
from accounts.models import CustomUser
from tinymce import models as tinymce_models

class CompanyAnnouncement(models.Model):
    title = models.CharField(max_length= 200)
    author = models.ForeignKey(CustomUser, on_delete=models.SET_NULL, null=True)
    body = tinymce_models.HTMLField()
    date = models.DateTimeField(auto_now_add=True, null=True)

    def __str__(self):
        return self.title

view:

from django.views.generic import ListView, DetailView
from django.views.generic.edit import CreateView, FormMixin
from django.urls.base import reverse
from .models import CompanyAnnouncement
from django.utils import timezone

class CompanyAnnouncementList(ListView):
    model = CompanyAnnouncement
    template_name = 'company_accounts/announcements.html'
    ordering = ['-date']

Шаблон:

{% extends 'base.html' %}

  {% load tz %}
  
  {% block content %}
   <div class="section-container container">
   {% for post in object_list %}
     <div class ="announcements-entry">
       <h2><a href=" ">{{ post.title }}</a></h2>
       <h3>made on {{ post.date }}</h3>
       {% localtime on %}
         {{ post.date }}
       {% endlocaltime %}
       <p>{{ post.body | safe }}</p>
     </div>
   {% endfor %}
   </div>
  {% endblock content %}

Вот пример того, что хранится в базе данных: 2022-03-12 19:54:28

Вернуться на верх