{% extends "base.html" %} {% block content %} {% load pytils_dt %}
Для загрузки компоненты, в шаблон вставьте код:
{% templatetag openblock %} load pytils_dt {% templatetag closeblock %}
Для наглядности, текст подставленный фильтром выделен курсивом.
Например, тест прошлого времени был {{ params.otime|distance_of_time }}. Если более точно, то {{ params.otime|distance_of_time:2 }}. Нужно ли еще более точно? Пожалуйста - это было {{ params.otime|distance_of_time:3 }}.
Точно так же (т.е. для Вас абсолютно прозрачно) и с будущим временем - следующий тест будет {{ params.ftime|distance_of_time }}.
distance_of_time
умеет работать с обеими типами времени,
представленных в Python: с datetime.datetime
и time.time
.
Например, {{ params.fdate }} будет {{ params.fdate|distance_of_time }}.
Сделано это так:
<p>Например, тест прошлого времени был <em>{% templatetag openvariable %} params.otime|distance_of_time {% templatetag closevariable %}</em>.
Если более точно, то <em>{% templatetag openvariable %} params.otime|distance_of_time:2 {% templatetag closevariable %}</em>. Нужно ли еще
более точно? Пожалуйста - это было <em>{% templatetag openvariable %} params.otime|distance_of_time:3 {% templatetag closevariable %}</em>.
</p>
<p>Точно так же (т.е. для Вас абсолютно прозрачно) и с будущим временем -
следующий тест будет <em>{% templatetag openvariable %} params.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 %} params.fdate {% templatetag closevariable %} будет <em>{% templatetag openvariable %} params.fdate|distance_of_time {% templatetag closevariable %}</em>.</p>
Если включен режим PYTILS_SHOW_VALUES_ON_ERROR
, то при ошибке
будет отображена разница во времени в секундах, либо пустая строка (если
получить разницу не удалось).
Тоже всё просто - используем обычный формат strftime, в котором %a, %A, %b, %B заменены на русские.
К примеру, текущая дата: {{ params.cdate|ru_strftime:"%d %B %Y, %A" }}.
Код таков:
<p>К примеру, текущая дата: <em>{% templatetag openvariable %} params.cdate|ru_strftime:"%d %B %Y, %A" {% templatetag closevariable %}</em>.</p>
Если включен режим PYTILS_SHOW_VALUES_ON_ERROR
, то при ошибке
будет отображена дата с использованием оригинального strftime (т.е. с
английскими днями/месяцами), либо пустая строка (если strftime не получилось
выполнить).
Аналогично ru_strftime
, только день склоняется. Т.е. текущий тест был
выполнен в {{ params.cdate|ru_strftime_inflected:"%A, %d %B %Y" }}
В шаблоне запись такова:
<p>Аналогично <code>ru_strftime</code>, только день склоняется. Т.е. текущий тест был
выполнен в <em>{% templatetag openvariable %} params.cdate|ru_strftime_inflected:"%A, %d %B %Y" {% templatetag closevariable %}</em>
Если включен режим PYTILS_SHOW_VALUES_ON_ERROR
, то при ошибке
будет отображена дата с использованием оригинального strftime (т.е. с
английскими днями/месяцами), либо пустая строка (если strftime не получилось
выполнить).