Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
🫨Когда реклама не работает — виноват не канал, а хаос.
Можно запускать баннеры, таргет и SMS — сколько угодно.
Но если каждый инструмент играет свою партию — вместо стратегии получится какофония.
🔝 В VEON AdTech мы не «запускаем рекламу».
Мы строим систему.
• Где Big Data говорит, а не догадывается🔈
• Где каждый канал встроен в CJM, а не идёт сам по себе👣
• Где бизнес не гадает, а измеряет: что работает, где, на кого и почему🪧
🔜В следующих постах покажем, как это работает на практике: от точечных SMS до масштабной экосистемы с автоматизацией.
❓А у вас в стратегии — больше интуиции или цифр?
#VEONAdTech#BigDataMarketing#DigitalAdvertising#PerformanceMarketing#MarTech
🗣Разговор о тенденциях, которые видны уже сегодня, и решениях, формирующих развитие индустрии завтра
25 ноября в MDIST при поддержке Маркетинговой Ассоциации Узбекистана и IT Park Uzbekistan прошла конференция «Digital Uzbekistan: Transformation and Development» — событие, которое объединило представителей рекламных агентств, маркетинговой индустрии и ИТ-сферы.
Профессионалов, которые не просто наблюдают за трансформацией, а ежедневно работают над развитием digital-рынка в Узбекистане.
🎤Среди ключевых спикеров — CEO VEON AdTech Иван Масютин.
Выступая в секции Digital Transformation and Market Evolution, он подчеркнул, что цифровая трансформация давно перестала быть фоновым процессом. Сегодня это фундамент, который определяет, как бренды принимают решения, выстраивают коммуникации и конкурируют на растущем digital-рынке.
🪙Отдельный фокус Иван уделил диджиномике — цифровой экономике, меняющей привычные модели развития брендов. Он отметил, что именно она формирует новую логику рынка: это экономика, где скорость, технологичность и глубокое понимание процессов становятся частью стратегии, а не набором разрозненных инструментов.
Иван объяснил, почему диджиномика уже влияет на решения компаний и задаёт направление развития digital-сектора.
🔈После выступления состоялась активная панельная дискуссия. Участники задавали вопросы о стратегических направлениях развития digital-рынка — как в Узбекистане, так и за его пределами. Интерес к теме показал, насколько высок сегодня запрос на глубокую экспертизу и понимание цифровых процессов.
💎 ЭкспертизаVEON AdTechпомогаетрынку расти быстрее и увереннее: знания становятся опорой для компаний и специалистов, которые стремятся строить цифровое развитие не по шаблонам, а через стратегическое, продуманное движение вперёд.
#VEONAdTech#Diginomics#DigitalTransformation#MarketEvolution#AdTech#MarTech#Innovation#TechConference#VEONAds
👋👋Всё о digital-рекламе в Узбекистане: аналитика, лайфхаки и готовые решения.
🌍🎥 Netflix & Amazon DSP: союз в программатик-рекламе
С четвёртого квартала 2025 Netflix предоставляет рекламодателям Amazon DSP доступ к своему рекламному инвентарю в 11 странах — США, Великобритания, Германия, Япония, Бразилия и др.
🤖 Платформа Amazon DSP будет использовать ИИ-технологии для автоматизации планирования, покупки и измерения эффективности рекламы. Это позволит рекламодателям точнее таргетировать, быстрее запускать кампании и эффективнее их оптимизировать.
🧐Почему это важно:
Более широкий рекламный охват за счёт Netflix-контента и аудитории в разных регионах
Усиленная автоматизация и оптимизация кампаний с помощью ИИ
Возможность интеграции с глобальной аудиторией и данными Amazon
Увеличение эффективности рекламных вложений через DSP-систему
#Netflix#AmazonDSP#программатик#digital#martech#ИИ#campainoptimization#globalmarketing#adtechсс
ADWAVE