Фильтр даты Django не показывает отформатированную метку времени в отображаемом шаблоне - PullRequest
2 голосов
/ 08 октября 2011

Я пытаюсь отформатировать метку времени в дату, используя функцию {{ timestamp|date:"d M Y" }} в Django.

Я сталкиваюсь с проблемой, когда могу вывести и увидеть необработанную метку времени с помощью {{ timestamp }}, ноформатирование через фильтр ничего не выводит, когда моя страница отображается с использованием {{ timestamp|date:"d M Y" }}.

Например, сейчас, когда я загружаю страницу, результат {{ timestamp }} - {{ timestamp|date:"d M Y" }} равен 1317945600 -.

Любые предложения о том, что я могу делать не так?

1 Ответ

5 голосов
/ 22 октября 2011

Проблема в том, что date не хочет метку времени, ей нужен объект datetime или date. вам нужно проанализировать временную метку в python или создать тег шаблона.

добавить это в templatetags / mytags.py

from datetime import datetime
from django import template
register = template.Library()

@register.filter("timestamp")
def timestamp(value):
    try:
        return datetime.fromtimestamp(value)
    except AttributeError:
        return ''

Затем используйте его с

{{ some_timestamp_value|timestamp|date:"format..." }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...