Преобразовать целое число в строку Jinja


122

У меня есть целое число

{% set curYear = 2013 %}

В {% if %}заявлении я должен сравнить его с некоторой строкой. Я не могу установить curYearстроку в начале, потому что мне нужно уменьшить ее в цикле.

Как его преобразовать?

Ответы:


225

Я нашел ответ.

Преобразовать целое число в строку:

myOldIntValue|string

Преобразовать строку в целое число:

myOldStrValue|int

На какой странице вы это нашли?
Серхио

@Sergio хех, я не помню, это было несколько лет назад :)
Глен Свифт

3
Подтверждено, что работает над nunjucks (который основан на jinja) в (по электронной почте) сборках HTML. Вот как преобразовать числовые строковые значения в целые числа. Кстати, в моем случае у меня есть целые числа в виде строк из файлов содержимого JSON: "hero_title_img_w": "111"и "hero_title_img2_w": "222". Затем я добавляю их в файл .NJK: {{ hero_title_img_w|int + hero_title_img2_w|int }}для использования в качестве widthатрибута изображения . Надеюсь, однажды это поможет кому-нибудь.
revelt

1
Для тех, кому нужна документация, это встроенный фильтр: jinja.palletsprojects.com/en/2.11.x/templates/#builtin-filters
Элиас

0

OP необходимо преобразовать в строку за пределами {% set ... %}. Но если это не ваш случай, вы можете:

{% set curYear = 2013 | string() %}

Обратите внимание, что вам нужны скобки на этом фильтре jinja.

Если вы объединяете две переменные, вы также можете использовать ~ специальный оператор .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.