CAN'T SUBTRACT OFFSET-NAIVE AND OFFSET-AWARE DATETIMESСобственно из текста ошибки понятно, что нельзя вычитать (да и складывать тоже) даты различных типов. Далее логично предположить (особенно если вы читали документацию по свежевышедшему django 1.4.), что дело здесь в поддержке таймзон, которая появилась в django 1.4
Если заглянем в исходник pytils, то увидим, что шаблонный фильтр distance_of_time использует функцию distance_of_time_in_words() из pytils/dt.py
И проблема кроется в самом начале:
to_time = datetime.datetime.now()
Тут должна получатся дата правильного типа. Смотрим в документацию по таймзонам, и узнаем, что в django.utils.timezone есть функция now() которая:
…returns the current date and time as a naive datetime when USE_TZ = False and as an aware datetime when USE_TZ = True.Исходя из этого, для себя я сделал так:
from django.utils import timezone … to_time = timezone.now()
Вот и все. Минус такого решения я вижу следующий: pytils питонячая библиотека а не только для django а сделав так, как описано выше, без джанги ничего работать уже не будет. Вернее distance_of_time работать не будет.
Комментариев нет:
Отправить комментарий