{# Аватар: картинка из готового набора (server.AVATARS) или кружок с инициалом и стабильным цветом от имени (hue из контекста). Загрузок файлов нет намеренно — это украшение, как значки хранилищ в 1Password. Подключать с контекстом: {% from "_ava.html" import ava, avapick with context %} #} {% macro ava(name, avatar=None, size=28) -%} {%- if avatar -%} {{ avatar }} {%- else -%} {{ (name or '?') | first | upper }} {%- endif -%} {%- endmacro %} {# Пикер — радио-сетка в форме: первый кружок «инициал» (пусто), дальше набор. Отправляется обычным сохранением формы, поле по умолчанию — avatar. #} {% macro avapick(name, current, field='avatar') -%}