## Why Пользователь не видит, что за картинка приложена к новости в карточке кандидата: в шаблоне `candidates.html` для постов с `media_path` показывается только бейдж «🖼 медиа», а само изображение не отображается. В `web/app.py` нет роута, который отдаёт медиа-файл (есть только /static для bootstrap), поэтому `` некуда указывать. Аналогично в `published.html` медиа не показывается. ## What Changes - Добавить в `web/app.py` роут `GET /media/{filename}` (с авторизацией, как у других роутов), который отдаёт файл из `/opt/vesti/media/` или `/opt/vesti/media/media/` (исторический баг путей: у старых постов media_path = `media/media/`). Безопасно: только basename (защита от path traversal), отдаём FileResponse. - В `candidates.html` и `published.html` для постов с `media_path` выводить `` (направление на роут; если файла нет — не показывать/плейсхолдер). - Медиа в карточке: фото/видео. Для изображений — ``, для видео — `