Django: преобразование часовых поясов внутри шаблонов
Я пытаюсь преобразовать даты UTC во временные зоны моих пользователей. Все даты хранятся в базе данных в формате UTC, и часовой пояс каждого пользователя также сохраняется (фиксируется, когда он зарегистрировался).
Проблема в том, что когда я использую timezone.activate(user_timezone)
, чтобы попытаться преобразовать даты в часовой пояс пользователя в моих шаблонах, используя тег шаблона {% timezone on %}
, он продолжает возвращать одну и ту же дату UTC. Я перепробовал все возможные настройки, но проблема сохраняется.
views.py
from dateutil.relativedelta import relativedelta
import
def home(request):
if request.method == 'GET':
#users stored timezone e.g 'america/chicago'
users_tz = reqeuest.user.timezone
#activate users timezone
timezone.activate(request.user.timezone)
return render(request, 'home.html')
home.html
{% load tz %}
...
{% localtime on %}
<div style="float: right;"><b>Registered: </b> {{ user.registered_date }}</div>
{% endlocaltime %}
settings.py
...
USE_I18N = True
USE_L10N = True
TIME_ZONE = 'UTC'