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