Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример).
Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать?
В Django по умолчанию есть готовая функция slugify для таких случаев.
Но я её никогда не использую. Почему? Потому что её недостаточно!
Приведём пример
>>> from django.utils.text import slugify
>>> slugify('This is a Title')
'this-is-a-title'
Пока всё отлично
>>> slugify('This is a "Title!"')
'this-is-a-title'
Спец символы удалились, всё хорошо.
>>> slugify('Это заголовок статьи')
''
Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить
>>> slugify('Это заголовок статьи', allow_unicode=True)
'это-заголовок-статьи'
Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте.
Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою.
Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку:
🔸1. Исходный текст:
>>> text = 'Мой заголовок №10 😁!'
Взял специально посложней со специальными символами.
🔸2. Транслит
Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги.
from unidecode import unidecode
>>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山")
'N S (r) u P 1/4 Yue Shan'
Очень крутая библиотека, советую👍
В нашем случае получаем такое преобразование:
>>> text = unidecode(text)
>>> print(text)
'Moi zagolovok No. 10 !'
Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы.
А еще наш код уже поддерживает любой язык, будь то хинди или корейский.
🔸4. Фильтр символов
Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона.
>>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text)
>>> print(text)
'Moi_zagolovok_No_10_'
Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_".
🔸5. Slugify
Осталось удалить лишние символы по краям и сделать нижний регистр
>>> text = text.strip('_').lower()
>>> print(text)
'moi_zagolovok_no_10'
Получаем отличный slug! 😎
🌎 Полный код в виде функции.
______________
PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию.
#libs#tricks#django
#opencall
📍Опен-колл Open You Gallery (Санкт-Петербург): выставка «Metamorphoses of matter»
Дедлайн подачи заявок: до 7 мая включительно
Объявление результатов: 10 мая
Галерея Open You объявила open call на участие в выставке «Metamorphoses of matter», которая пройдёт в пространстве галереи в Санкт-Петербурге.
Проект посвящён исследованию художественного потенциала материалов и их самостоятельной роли в формировании произведения. В фокусе — идея того, что материя продолжает трансформировать работу после завершения авторского замысла, превращая объект в процесс.
К участию принимаются произведения из камня, металла, бумаги, текстиля, керамики, стекла, дерева и экспериментальных материалов. Особый интерес представляют образы древности и археологии: объекты, напоминающие артефакты, найденные и восстановленные, а также ранние работы художников, которые уже претерпели изменения.
🖊Подача заявки:
[email protected]
(тема письма «Выставка. Open Call»)
#opencall
📍 Опен-колл на 11 сезон резиденции MaxArt
Приём заявок: с 15 апреля по 15 мая включительно.
Объявлен open call на участие в 11 сезоне резиденции MaxArt в Перми.
Фокус программы направлен на художественные проекты, включающие сайт-специфичные исследования и работу с природным, культурным и социальным контекстом города.
Кто может участвовать:
художники из РФ и стран СНГ от 21 года, работающие в сфере современного искусства. К участию допускаются как индивидуальные авторы, так и коллективы до двух человек. Особое внимание уделяется проектам, связанным с локальным контекстом.
Условия участия:
• резиденция проходит с 1 июня по 15 июля;
• проживание в отреставрированном особняке XIX века в Перми;
• кураторская поддержка и доступ к мастерским;
• участие в культурной программе;
• грант 60 000 рублей, включая бюджет на производство работ и транспортные расходы (до 10 000 рублей в каждую сторону);
• итоговый публичный показ проектов.
🖊Подать заявку
#opencall
📍Опен-колл ярмарки СКАН 2026 (Красноярск)
Приём заявок:
с 15 апреля по 15 июня включительно до 23:59 (Мск +4)
Ярмарка современного искусства СКАН открыла приём заявок на участие в выпуске 2026 года (Красноярск, 1–4 октября 2026)
К участию приглашаются независимые художники и арт-группы, творческие объединения, коммерческие галереи, дизайнеры и дизайн-коллективы, работающие в сфере предметного дизайна. Подать заявку могут авторы, проживающие и работающие на территориях Сибири, Урала и Дальнего Востока.
Структура ярмарки:
• секция «Независимые художники» — 40 участников
• секция «Галереи» — 5 участников
• секция «Дизайн» — 10 участников
В 2026 году добавляется отдельный экспоблок с участием галерей из западной части России. При этом художники, представленные этими галереями, должны быть родом из Сибири, Урала или Дальнего Востока.
✒️ Подать заявку и условия участия
#opencall
📍Open-call в резиденцию Галереи «Виктория», г. Самара.
Галерея современного искусства «Виктория» запускает программу резиденций и приглашает двух художников принять участие в работе в своих мастерских.
С 20 июля по 20 августа в Самаре будут открыты два резидентских места для иногородних художников. Участникам предоставляется возможность в течение месяца работать над персональными проектами, используя профессиональные мастерские галереи — керамики, шелкографии и универсальное пространство. Галерея берёт на себя оплату проезда, проживания и материалов, а также обеспечивает профессиональную поддержку.
Резиденция предполагает не только работу над проектом, но и погружение в культурную среду города, а также участие в публичной программе с итоговой презентацией.
К участию приглашаются художники с релевантным портфолио и проработанной идеей проекта, имеющие опыт работы с материалами и оборудованием и готовые к открытой презентации результатов.
🖊 Подать заявку
➡️Мы в МАХ
📍 Ярмарка |catalog|, набор волонтёров (Москва)
#opencall
Открыт набор волонтёров на весенний выпуск ярмарки современного искусства |catalog|. Это возможность увидеть, как устроен арт-рынок изнутри, познакомиться с галереями и командой проекта, а также получить опыт работы в крупном культурном событии.
Волонтёры будут задействованы в разных процессах ярмарки. Можно выбрать подходящую позицию и формат участия в зависимости от интересов и задач.
Участникам предлагают полноценное питание в течение рабочего дня, лимитированный мерч, благодарственное письмо и свободный доступ на ярмарку.
🖊Подать заявку можно, заполнив анкету на сайте по ссылке.
Ярмарка пройдет 16–19 апреля в жилом квартале «Золотой» на Софийской набережной.
➡️Мы в МАХ
📍ГЭС-2, практикум «Фотооснова» (Москва)
Старт программы: июнь 2026 года
#opencall
Центр художественного производства «Своды» ГЭС-2 открывает набор на ежегодный практикум «Фотооснова» для всех, кто работает с фотографией или использует этот медиум в своей художественной практике.
Четвертый сезон программы стартует в июне и пройдет в профессиональной мастерской фотопечати. В течение 5 месяцев участники изучат альтернативные, аналоговые и цифровые техники печати и будут работать над собственными проектами при поддержке мастеров.
Финалом программы станет отчетный показ в мастерских «Сводов» и выставка в галерее PENNLAB, где участники смогут представить свои работы и получить профессиональную обратную связь.
Подать заявку можно по ссылке.
➡️Мы в МАХ
⭐️МАНИФЕСТ. Археология современности: open call от галереи a—s—t—r—a
#opencall
Галерея a—s—t—r—a запускает open call в рамках проекта «МАНИФЕСТ. Археология современности» — постоянного цикла solo show, где каждая выставка строится вокруг одного высказывания художника.
К участию приглашаются авторы, готовые представить одну работу и завершённый текст в форме манифеста. Проект исследует художественное высказывание как целостную форму, в которой визуальное и текст соединяются и работают как единая система.
📩 Подача заявок: [email protected]
(тема письма — Statement)
📖Ознакомиться с манифестами можно на сайте:
https://a-s-t-r-a.ru/blogs/statement
➡️Мы в МАХ
#opencall
📍Арт-ярмарка А3 (Москва)
Дедлайн подачи заявок: 19 апреля 2026 года.
Даты проведения выставки: с 30 июля по 30 августа 2026 года.
Галерея А3 открывает приём заявок на ежегодную летнюю выставку «Арт-ярмарка А3». Это групповый проект, который объединяет художников, работающих в классических и декоративно-прикладных медиумах. Выставка проходит в центре Москвы и традиционно становится площадкой для знакомства с новыми авторами и форматами.
К участию принимаются работы в медиумах: живопись, графика, керамика, скульптура и декоративно-прикладное искусство. Важно учитывать ограничение по формату: живопись и графика принимаются строго в размере А3 — это ключевое условие отбора.
Отбор проходит на конкурсной основе: заявки подаются в электронном виде (в формате Word) и рассматриваются в течение минимум двух месяцев. Итоги будут направлены участникам по электронной почте.
🖊Подать заявку необходимо, заполнив шаблон:
https://disk.yandex.ru/i/NSCiPW1HkB8NiA
Отправка заявки осуществляется на почту: [email protected]
(с темой письма «Арт-ярмарка А3»).
➡️Мы в МАХ
#opencall
📍BIS ART Gallery объявляет open call для участия в выставке, посвящённой осмыслению феномена киборга.
Дедлайн: 7 апреля 2026
Сегодня человек всё чаще воспринимается как гибрид биологического и технологического: мы используем гаджеты, носим устройства для отслеживания состояния тела и расширяем собственные возможности с помощью технологий. Проект предлагает поразмышлять о будущем, в котором границы между человеком и машиной становятся всё более размытыми.
Кураторы приглашают художников представить свои версии этого будущего — от утопических сценариев до ироничных и фантазийных образов. Особенно приветствуются работы, раскрывающие тему с юмором.
К участию принимаются проекты в различных медиумах.
✒️Для подачи заявки необходимо отправить письмо с темой «Open-call. Сколько электроовец нужно для счастья?» на почту [email protected] и указать название, технику, размеры и год создания работ, а также контактный номер телефона.
➡️Мы в МАХ
📍 MMOMA × СОЮЗ — опен-колл на выставки 2026–2027 (Москва)
Дедлайн подачи заявок: до 10 мая
#opencall
Московский музей современного искусства совместно с культурным проектом «СОЮЗ» открывают приём заявок на участие сразу в двух выставках, которые пройдут в ММОМА в 2026 и 2027 годах. Это возможность показать свою практику в институциональном контексте и поработать с кураторской командой музея.
Тема опен-колла связана с переосмыслением роли человека в современном мире.
К участию принимаются как уже реализованные работы, так и проекты будущих произведений. Это важный момент: можно подать не только готовый результат, но и идею, если она точно сформулирована и обоснована.
Допускаются разные медиумы: живопись, графика, фотография, инсталляция и скульптура. При этом есть возрастное ограничение, подать заявку могут художники от 18 до 40 лет.
Куратор проекта Алексей Корси, что задаёт определённый уровень отбора и концептуальной проработки проектов.
Подать заявку можно по ссылке.
#opencall
📍Арт-резиденция «Течение», Санкт-Петербург
Дедлайн: 1 апреля 2026
Библиотека и арт-резиденция «Шкаф» открывает приём заявок на участие в резиденции «Течение», посвящённой исследованию рек Красногвардейского района — Невы, Охты, Оккервиля, Лапки и других.
Программа включает прогулки, наблюдения, лекции и работу с локальным контекстом: звуком, историями и городским ландшафтом. Участники смогут развивать свои проекты, опираясь на исследование среды и взаимодействие с территорией.
Резиденты получают доступ к рабочему пространству, бесплатную образовательную программу, кураторскую и информационную поддержку, а также участие в итоговой выставке, которая пройдёт в июле–августе 2026 года. Проживание не предоставляется.
Особенно приветствуются проекты в области мультимедиа, фотографии, звука, кинетических объектов и зинов.
Результаты отбора будут объявлены 5 апреля 2026 года.
✒️ Подробности и подача заявки: https://vk.com/wall-118637569_13804
#opencall
📍Центр художественного производства «Своды» (ГЭС-2), Москва16
Дедлайн: 19 апреля 2026
Открыт ежегодный набор на программу «КолЛаб» — инициативу Центра художественного производства «Своды», где авторы могут реализовать свои проекты с доступом к профессиональной инфраструктуре.
К участию приглашаются художники, дизайнеры, архитекторы, музыканты и представители других творческих профессий. В рамках программы участникам предоставляется доступ к мастерским, оборудованию, материалам и технической поддержке для реализации проектов.
Программа также открыта для глухих и слабослышащих авторов: предусмотрены индивидуальные индукционные системы и перевод на русский жестовый язык.
🕳 Подробнее и подача заявки: https://ges-2.org/the-vaults-collab-2026-open-call