{% extends "base.html" %} {% block content %} {% load pytils_dt %}

pytils_dt filters demo

Для загрузки компоненты, в шаблон вставьте код:

{% templatetag openblock %} load pytils_dt {% templatetag closeblock %}

Фильтры

Для наглядности, текст подставленный фильтром выделен курсивом.

distance_of_time

Например, тест прошлого времени был {{ otime|distance_of_time }}. Если более точно, то {{ otime|distance_of_time:2 }}. Нужно ли еще более точно? Пожалуйста - это было {{ otime|distance_of_time:3 }}.

Точно так же (т.е. для Вас абсолютно прозрачно) и с будущим временем - следующий тест будет {{ ftime|distance_of_time }}.

distance_of_time умеет работать с обеими типами времени, представленных в Python: с datetime.datetime и time.time. Например, {{ fdate }} будет {{ fdate|distance_of_time }}.

Сделано это так:

<p>Например, тест прошлого времени был <em>{% templatetag openvariable %} otime|distance_of_time {% templatetag closevariable %}</em>.
Если более точно, то <em>{% templatetag openvariable %} otime|distance_of_time:2 {% templatetag closevariable %}</em>. Нужно ли еще
более точно? Пожалуйста - это было <em>{% templatetag openvariable %} otime|distance_of_time:3 {% templatetag closevariable %}</em>.
</p>

<p>Точно так же (т.е. для Вас абсолютно прозрачно) и с будущим временем -
следующий тест будет <em>{% templatetag openvariable %} ftime|distance_of_time {% templatetag closevariable %}</em>.</p>

<p><code>distance_of_time</code> умеет работать с обеими типами времени, 
представленных в Python: с <code>datetime.datetime</code> и <code>time.time</code>.
Например, {% templatetag openvariable %} fdate {% templatetag closevariable %} будет  <em>{% templatetag openvariable %} fdate|distance_of_time {% templatetag closevariable %}</em>.</p>

Если включен режим PYTILS_SHOW_VALUES_ON_ERROR, то при ошибке будет отображена разница во времени в секундах, либо пустая строка (если получить разницу не удалось).

ru_strftime

Тоже всё просто - используем обычный формат strftime, в котором %a, %A, %b, %B заменены на русские.

К примеру, текущая дата: {{ cdate|ru_strftime:"%d %B %Y, %A" }}.

Код таков:

<p>К примеру, текущая дата: <em>{% templatetag openvariable %} cdate|ru_strftime:"%d %B %Y, %A" {% templatetag closevariable %}</em>.</p>

Если включен режим PYTILS_SHOW_VALUES_ON_ERROR, то при ошибке будет отображена дата с использованием оригинального strftime (т.е. с английскими днями/месяцами), либо пустая строка (если strftime не получилось выполнить).

ru_strftime_inflected

Аналогично ru_strftime, только день склоняется. Т.е. текущий тест был выполнен в {{ cdate|ru_strftime_inflected:"%A, %d %B %Y" }}

В шаблоне запись такова:


<p>Аналогично <code>ru_strftime</code>, только день склоняется. Т.е. текущий тест был 
выполнен в <em>{% templatetag openvariable %} cdate|ru_strftime_inflected:"%A, %d %B %Y" {% templatetag closevariable %}</em>

Если включен режим PYTILS_SHOW_VALUES_ON_ERROR, то при ошибке будет отображена дата с использованием оригинального strftime (т.е. с английскими днями/месяцами), либо пустая строка (если strftime не получилось выполнить).

ru_strftime_preposition

Аналогично ru_strftime_inflected, только добавляется правильный предлог. Т.е. текущий тест был выполнен {{ cdate|ru_strftime_preposition:"%A, %d %B %Y" }}

В шаблоне запись такова:


<p>Аналогично <code>ru_strftime</code>, только добавляется правильный предлог. Т.е. текущий тест был 
выполнен <em>{% templatetag openvariable %} cdate|ru_strftime_preposition:"%A, %d %B %Y" {% templatetag closevariable %}</em>

Если включен режим PYTILS_SHOW_VALUES_ON_ERROR, то при ошибке будет отображена дата с использованием оригинального strftime (т.е. с английскими днями/месяцами), либо пустая строка (если strftime не получилось выполнить).

{% endblock %}