Подскажите а как бороться с dict object' has no attribute.

то есть |default('') не спасет. Как можно сделать в той же j2? {{ hostvars[inventory_hostname]['ansible_env'].SSH_CONNECTION.split(' ')[2] }} . как проверить аттрибут и если нет сделать default?

6 ответов

4 просмотра

Почему не спасает ?

Vladimir-P Автор вопроса
Alex Domoradov
Почему не спасает ?

потому как идет доступ по ключу которого нет.

Vladimir-P Автор вопроса

кто не умеет читать то тут написано

Vladimir P
кто не умеет читать то тут написано

Эх.... Если хочешь, чтоб дефолт работал - он должен быть последним в записи, ты не можешь методы потенциально несуществующего объекта вызывать (в данном случае - split)

Vladimir-P Автор вопроса
Sergey Pechenkó
Эх.... Если хочешь, чтоб дефолт работал - он долже...

ок. ну то есть нужно сначала обернуть всю конструкцию в какой нибудь if и только потом split и прочее?

Vladimir P
ок. ну то есть нужно сначала обернуть всю конструк...

Default достаточно, просто продумай, как будет работать дальнейшая часть выражения, если сработет default. Ну и в этом разе ты, если что, пишешь код в фукциональном стиле :-)

Похожие вопросы

Обсуждают сегодня

Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
всем привет. подскажите. сделал политику, он верхнеуровневая. раздал права только на TEST2 (полные). вопрос - можно ли сделать так, чтобы был доступен только TEST2, а остально...
Андрей Сергеев
5
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Вы когда из вики.... копировали, не обратили внимание на года(ы)? 😉 ==== если до 1917 года в Москве было около 15 000 легковых извозчиков, то к 1920 году их осталось 5 000, а ...
Igor Mitin
4
На счёт замены разрабов нейронами: Вряд-ли заказчик сможет нормально пояснить нейросети, чё он хочет. Они то человеку нормально пояснить не могут, не то что нейросети. Так что...
Alex Kom
1
Слушайте, а при создании навигации на Tailor рили нельзя определять активный пункт навигации, как в Static Pages?
Pavel Lautsevich
11
Что я могу сказать? Погуглите получше - чтобы узнать: 1. Что будет стоить содержание машины 2. Что будет стоить содержании лошади. P.S. Моя мысль о том, повторюсь еще раз,...
Igor Mitin
1
Карта сайта