Почему мне нужно заключать имена столбцов в кавычки в Jinja?
В примере макроса мы передали имя столбца amount
в кавычках:
{{ cents_to_dollars('amount') }} as amount_usd
Мы должны использовать кавычки, чтобы передать строку 'amount'
в макрос.
Без кавычек парсер Jinja будет искать переменную с именем amount
. Поскольку такой переменной не существует, это скомпилируется в пустоту.
Привыкнуть к кавычкам в Jinja может занять некоторое время! Правило заключается в том, что если вы находитесь внутри выражения или оператора Jinja (т.е. внутри {% ... %}
или {{ ... }}
), вам нужно использовать кавычки для любых аргументов, которые являются строками.
Одинарные и двойные кавычки в Jinja эквивалентны — просто убедитесь, что они правильно совпадают.
И если вам действительно нужно передать переменную в качестве аргумента, убедитесь, что вы не вкладываете фигурные скобки.