Было: {field} (одинарные фигурные скобки)
Стало: {{field}} (двойные фигурные скобки)
| Поле | Описание | Источник данных |
|---|---|---|
{{first}} |
Имя | user.name.first |
{{middle}} |
Отчество | user.name.middle |
{{name}} |
Полное имя | user.name.first + user.name.middle + user.name.last |
{{position}} |
Должность | user.position |
{{mail}} |
Email адрес | user.nickname@domain или user.emails[0] |
{{telephone}} |
Рабочий телефон | user.phone |
{{mobile}} |
Мобильный телефон | user.mobile или из user.phones |
{{department}} |
Отдел | user.department |
Функция автоматически удаляет HTML элементы, содержащие только пустые переменные:
<div>...</div>с пустыми переменными<p>...</p>с пустыми переменными<span>...</span>с пустыми переменными<blockquote>...</blockquote>с пустыми переменными- Строки, содержащие только пустые переменные
Шаблон:
<div>Имя: {{first}}</div>
<div>Отчество: {{middle}}</div>
<div>Фамилия: {{last}}</div>
<div>Телефон: {{telephone}}</div>
<div>Мобильный: {{mobile}}</div>Если у пользователя нет отчества и мобильного телефона:
<div>Имя: Иван</div>
<div>Фамилия: Петров</div>
<div>Телефон: +7-123-456-7890</div>Функция также:
- Удаляет пустые строки
- Сохраняет одну пустую строку между блоками контента
- Удаляет завершающие пустые строки
<div><strong>{{name}}</strong></div>
<div>Email: {{mail}}</div>
<div>Телефон: {{telephone}}</div>
<div>Мобильный: {{mobile}}</div>
<div>Должность: {{position}}</div>
<div>Отдел: {{department}}</div><div>С уважением,</div>
<div><strong>{{name}}</strong></div>
<div>Email: {{mail}}</div>
<div>Телефон: {{telephone}}</div>
<div>Мобильный: {{mobile}}</div>
<div>Должность: {{position}}</div>
<div>Отдел: {{department}}</div>Если у пользователя нет мобильного телефона и отдела, результат будет:
<div>С уважением,</div>
<div><strong>Иван Петров</strong></div>
<div>Email: ivan.petrov@company.com</div>
<div>Телефон: +7-123-456-7890</div>
<div>Должность: Менеджер</div><div style="font-family: Arial;">
<div><strong>{{name}}</strong></div>
<div>Email: <a href="mailto:{{mail}}">{{mail}}</a></div>
<div>Телефон: {{telephone}}</div>
<div>Мобильный: {{mobile}}</div>
<div>Должность: {{position}}</div>
<div>Отдел: {{department}}</div>
</div>patterns_to_remove = [
r'<div[^>]*>\s*{{[^}]+}}\s*</div>',
r'<p[^>]*>\s*{{[^}]+}}\s*</p>',
r'<span[^>]*>\s*{{[^}]+}}\s*</span>',
r'<blockquote[^>]*>\s*{{[^}]+}}\s*</blockquote>',
r'^\s*{{[^}]+}}\s*$',
]{{telephone}}- рабочий телефон изuser.phone{{mobile}}- мобильный телефон изuser.mobileили поиск вuser.phonesс типом 'mobile'
- Приоритет:
user.emails[0]если есть, иначеuser.nickname@domain
Старые шаблоны с одинарными фигурными скобками {field} больше не поддерживаются. Необходимо обновить все шаблоны на новый формат {{field}}.
- Чистый результат - автоматическое удаление пустых полей
- Гибкость - поддержка различных типов контактной информации
- Читаемость - четкое разделение между полями
- Производительность - эффективная обработка с регулярными выражениями