Перейти к основному содержимому

Почему мне нужно заключать имена столбцов в кавычки в Jinja?

В примере макроса мы передали имя столбца amount в кавычках:

{{ cents_to_dollars('amount') }} as amount_usd

Мы должны использовать кавычки, чтобы передать строку 'amount' в макрос.

Без кавычек парсер Jinja будет искать переменную с именем amount. Поскольку такой переменной не существует, это скомпилируется в пустоту.

Привыкнуть к кавычкам в Jinja может занять некоторое время! Правило заключается в том, что если вы находитесь внутри выражения или оператора Jinja (т.е. внутри {% ... %} или {{ ... }}), вам нужно использовать кавычки для любых аргументов, которые являются строками.

Одинарные и двойные кавычки в Jinja эквивалентны — просто убедитесь, что они правильно совпадают.

И если вам действительно нужно передать переменную в качестве аргумента, убедитесь, что вы не вкладываете фигурные скобки.

0