удобная «цепочка» ||(ИЛИ) выражения в жидкости - PullRequest
1 голос
/ 28 июня 2019

В javascript, я могу написать что-то вроде этого

console.log( person.name || person.nickname || '-' )

, и он сначала будет искать поле name, и если он не сможет его найти, он вернется к nicknameполе, и если он не может найти это, он, наконец, возвращается к - заполнителю.

Есть ли какой-нибудь удобный / удобный синтаксис, чтобы сделать это в жидкости?То есть есть ли способ сделать это в одной строке, без связки if / elseifs.

1 Ответ

1 голос
/ 29 июня 2019

Нет, к сожалению, нет.Хотя вы можете использовать «или» в жидкой логике, запись «или» в двойных фигурных скобках не допускается.Вы получите следующую ошибку:

Ожидается конец_строки, но найден идентификатор в "{{person.name or person.nickname or '-'}}" в / path / to / page

Я думаю, что самый короткий способ написать это:

{{ person.name }}{% unless person.name %}{{ person.nickname }}{% unless person.nickname %}-{% endunless %}{% endunless %}

...