<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://melioration.space/index.php?action=history&amp;feed=atom&amp;title=%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B_Jinja2</id>
	<title>Фильтры Jinja2 - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://melioration.space/index.php?action=history&amp;feed=atom&amp;title=%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B_Jinja2"/>
	<link rel="alternate" type="text/html" href="https://melioration.space/index.php?title=%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B_Jinja2&amp;action=history"/>
	<updated>2026-04-16T23:51:40Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://melioration.space/index.php?title=%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B_Jinja2&amp;diff=376&amp;oldid=prev</id>
		<title>Sonys: Новая страница: «=== Все встроенные фильтры модуля Jinja2 ===  * &lt;code&gt;abs()&lt;/code&gt; возвращает абсолютное значение, * &lt;code&gt;a...»</title>
		<link rel="alternate" type="text/html" href="https://melioration.space/index.php?title=%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B_Jinja2&amp;diff=376&amp;oldid=prev"/>
		<updated>2023-08-24T09:34:14Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «=== Все встроенные фильтры модуля Jinja2 ===  * &amp;lt;code&amp;gt;abs()&amp;lt;/code&amp;gt; возвращает абсолютное значение, * &amp;lt;code&amp;gt;a...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=== Все встроенные фильтры модуля Jinja2 ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;abs()&amp;lt;/code&amp;gt; возвращает абсолютное значение,&lt;br /&gt;
* &amp;lt;code&amp;gt;attr()&amp;lt;/code&amp;gt; возвращает атрибут объекта по имени,&lt;br /&gt;
* &amp;lt;code&amp;gt;batch()&amp;lt;/code&amp;gt; делит исходную последовательность на списки с заданным количеством элементов,&lt;br /&gt;
* &amp;lt;code&amp;gt;capitalize()&amp;lt;/code&amp;gt; преобразует первый символ строки в верхний регистр,&lt;br /&gt;
* &amp;lt;code&amp;gt;center()&amp;lt;/code&amp;gt; центрирует значение в поле заданной ширины,&lt;br /&gt;
* &amp;lt;code&amp;gt;default()&amp;lt;/code&amp;gt; возвращает значение по умолчанию, если переменная не определена,&lt;br /&gt;
* &amp;lt;code&amp;gt;dictsort()&amp;lt;/code&amp;gt; сортирует словарь,&lt;br /&gt;
* &amp;lt;code&amp;gt;escape()&amp;lt;/code&amp;gt; экранирует HTML,&lt;br /&gt;
* &amp;lt;code&amp;gt;filesizeformat()&amp;lt;/code&amp;gt; форматирует значение как размер файла,&lt;br /&gt;
* &amp;lt;code&amp;gt;first()&amp;lt;/code&amp;gt; возвращает первый элемент списка,&lt;br /&gt;
* &amp;lt;code&amp;gt;float()&amp;lt;/code&amp;gt; преобразует значение в &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt;,&lt;br /&gt;
* &amp;lt;code&amp;gt;forceescape()&amp;lt;/code&amp;gt; принудительно экранирует HTML,&lt;br /&gt;
* &amp;lt;code&amp;gt;format()&amp;lt;/code&amp;gt; форматирует строку в стиле &amp;lt;code&amp;gt;printf&amp;lt;/code&amp;gt;,&lt;br /&gt;
* &amp;lt;code&amp;gt;groupby()&amp;lt;/code&amp;gt; группирует последовательность объектов по атрибуту,&lt;br /&gt;
* &amp;lt;code&amp;gt;indent()&amp;lt;/code&amp;gt; делает отступы для каждой строки,&lt;br /&gt;
* &amp;lt;code&amp;gt;int()&amp;lt;/code&amp;gt; преобразует значение в &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;,&lt;br /&gt;
* &amp;lt;code&amp;gt;join()&amp;lt;/code&amp;gt; объединяет список строк в одну строку,&lt;br /&gt;
* &amp;lt;code&amp;gt;last()&amp;lt;/code&amp;gt; возвращает последний элемент списка,&lt;br /&gt;
* &amp;lt;code&amp;gt;length()&amp;lt;/code&amp;gt; возвращает количество элементов в контейнере,&lt;br /&gt;
* &amp;lt;code&amp;gt;list()&amp;lt;/code&amp;gt; преобразует значение в список,&lt;br /&gt;
* &amp;lt;code&amp;gt;lower()&amp;lt;/code&amp;gt; преобразует строку в нижний регистр,&lt;br /&gt;
* &amp;lt;code&amp;gt;map()&amp;lt;/code&amp;gt; извлекает определенный атрибут из списка объектов,&lt;br /&gt;
* &amp;lt;code&amp;gt;max()&amp;lt;/code&amp;gt; возвращает максимальный элемент списка,&lt;br /&gt;
* &amp;lt;code&amp;gt;min()&amp;lt;/code&amp;gt; возвращает минимальный элемент списка,&lt;br /&gt;
* &amp;lt;code&amp;gt;pprint()&amp;lt;/code&amp;gt; красиво печатает переменную,&lt;br /&gt;
* &amp;lt;code&amp;gt;random()&amp;lt;/code&amp;gt; возвращает случайный элемент из списка,&lt;br /&gt;
* &amp;lt;code&amp;gt;reject()&amp;lt;/code&amp;gt; фильтрует последовательность, исключая те элементы, для которых &amp;#039;&amp;#039;тест&amp;#039;&amp;#039; вернул &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;,&lt;br /&gt;
* &amp;lt;code&amp;gt;rejectattr()&amp;lt;/code&amp;gt; фильтрует список объектов, исключая те объекты, для которых &amp;#039;&amp;#039;тест&amp;#039;&amp;#039; атрибута объекта вернул &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt;,&lt;br /&gt;
* &amp;lt;code&amp;gt;replace()&amp;lt;/code&amp;gt; заменяет подстроку в строке на новое значение,&lt;br /&gt;
* &amp;lt;code&amp;gt;reverse()&amp;lt;/code&amp;gt; переворачивает последовательность/контейнер,&lt;br /&gt;
* &amp;lt;code&amp;gt;round()&amp;lt;/code&amp;gt; округляет число до заданной точности,&lt;br /&gt;
* &amp;lt;code&amp;gt;safe()&amp;lt;/code&amp;gt; отменяет автоматическое экранирование HTML,&lt;br /&gt;
* &amp;lt;code&amp;gt;select()&amp;lt;/code&amp;gt; фильтрует последовательность, исключая те элементы, для которых &amp;#039;&amp;#039;тест&amp;#039;&amp;#039; вернул &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;,&lt;br /&gt;
* &amp;lt;code&amp;gt;selectattr()&amp;lt;/code&amp;gt; фильтрует список объектов, исключая те объекты, для которых &amp;#039;&amp;#039;тест&amp;#039;&amp;#039; атрибута объекта вернул &amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt;,&lt;br /&gt;
* &amp;lt;code&amp;gt;slice()&amp;lt;/code&amp;gt; делит исходную последовательность на указанное количество списков,&lt;br /&gt;
* &amp;lt;code&amp;gt;sort()&amp;lt;/code&amp;gt; сортирует последовательность,&lt;br /&gt;
* &amp;lt;code&amp;gt;string()&amp;lt;/code&amp;gt; преобразует строку в unicode,&lt;br /&gt;
* &amp;lt;code&amp;gt;striptags()&amp;lt;/code&amp;gt; удаляет теги HTML,&lt;br /&gt;
* &amp;lt;code&amp;gt;sum()&amp;lt;/code&amp;gt; возвращает сумму последовательности чисел,&lt;br /&gt;
* &amp;lt;code&amp;gt;title()&amp;lt;/code&amp;gt; все слова начинаются с прописных букв,&lt;br /&gt;
* &amp;lt;code&amp;gt;tojson()&amp;lt;/code&amp;gt; преобразует структуру в JSON,&lt;br /&gt;
* &amp;lt;code&amp;gt;trim()&amp;lt;/code&amp;gt; удаляет начальные и конечные символы,&lt;br /&gt;
* &amp;lt;code&amp;gt;truncate()&amp;lt;/code&amp;gt; возвращает усеченную копию строки,&lt;br /&gt;
* &amp;lt;code&amp;gt;unique()&amp;lt;/code&amp;gt; возвращает список уникальных элементов,&lt;br /&gt;
* &amp;lt;code&amp;gt;upper()&amp;lt;/code&amp;gt; преобразует строку в верхний регистр,&lt;br /&gt;
* &amp;lt;code&amp;gt;urlencode()&amp;lt;/code&amp;gt; преобразует данные для использования в URL,&lt;br /&gt;
* &amp;lt;code&amp;gt;urlize()&amp;lt;/code&amp;gt; преобразует текстовые URL-адреса в ссылки,&lt;br /&gt;
* &amp;lt;code&amp;gt;wordcount()&amp;lt;/code&amp;gt; считает слова в строке,&lt;br /&gt;
* &amp;lt;code&amp;gt;wordwrap()&amp;lt;/code&amp;gt; форматирует строку до заданной ширины,&lt;br /&gt;
* &amp;lt;code&amp;gt;xmlattr()&amp;lt;/code&amp;gt; создает атрибуты HTML на основе словаря.&lt;br /&gt;
&lt;br /&gt;
== Как применять фильтры к переменным. ==&lt;br /&gt;
В шаблонах Jinja2, переменные могут быть изменены фильтрами. Фильтры отделяются от переменной символом канала &amp;lt;code&amp;gt;&amp;#039;|&amp;#039;&amp;lt;/code&amp;gt; и могут иметь необязательные аргументы в круглых скобках. Несколько фильтров могут быть объединены в цепочку. Выход одного фильтра применяется к следующему.&lt;br /&gt;
&lt;br /&gt;
Например, выражение в шаблоне &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ name|striptags|title }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; удалит все HTML-теги из переменной &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;, а так же все слова будут начинаться с заглавной буквы.&lt;br /&gt;
&lt;br /&gt;
Фильтры в шаблонах jinja2 принимают левую часть выражения в качестве первого аргумента, а аргументы, передаваемые в сам фильтр служат дополнительными позиционными или ключевыми аргументами. Например, в выражении шаблона &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{ lst|join(&amp;#039;, &amp;#039;) }}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; функция фильтра &amp;lt;code&amp;gt;join()&amp;lt;/code&amp;gt; будет вызываться с аргументами &amp;lt;code&amp;gt;attr(lst, &amp;#039;, &amp;#039;)&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В шаблонах jinja2 так же можно использовать разделы фильтров, которые позволяют применять фильтры к блоку данных шаблона.&lt;br /&gt;
 {% filter upper %}&lt;br /&gt;
     Этот текст становится прописным&lt;br /&gt;
 {% endfilter %}&lt;br /&gt;
&amp;lt;blockquote&amp;gt;По материалу с сайта https://docs-python.ru/&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sonys</name></author>
	</entry>
</feed>