Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
🏆Premios Juventud 2025: впервые в Панаме — латиноамериканская музыка возвращается домой!
В этом году Premios Juventud творит историю: впервые за 22 года церемония пройдёт не в США, а в самом сердце Латинской Америки — 25 сентября в Панама-Сити! И это не просто смена локации — это настоящий триумф для всего региона.
Почему именно Панама
Панама — это не просто точка на карте.
▪️Это место, где встречаются океаны и континенты.
▪️Это земля, на которой зародились ритмы, ставшие основой реггетона и латинского хип-хопа.
▪️Это страна, которая давно подарила миру свой голос — и теперь мир отвечает ей овациями.
Для Univision выбор Панамы — это признание: Латинская Америка заслуживает быть не просто участником, а главным героем вечера.
Что ждёт на церемонии
✔️Сцена с видом на Панамский залив, где тропические закаты сольются с яркими огнями шоу.
✔️Артисты из 15+ стран, которые соберутся вместе, чтобы показать: музыка не знает границ.
✔️Новые номинации — награды не только за хиты, но и за вдохновение, активизм и вклад в изменения к лучшему.
Почему это волнует весь регион?
Premios Juventud всегда был больше, чем просто шоу. Это зеркало того, чем живут миллионы молодых людей: музыка, культура, мечты о будущем. И впервые это зеркало отражает Латинскую Америку с её собственной земли.
Представьте: весь регион смотрит одно шоу, гордясь собой. Звучит реггетон, сияют звёзды, и в каждом доме ощущение: это про нас, это для нас, это с нами.
25 сентября, Панама-Сити — вечер, когда Латинская Америка будет праздновать саму себя.
#PremiosJuventud#Панама#Univision#латинскаямузыка#звёзды#реггетон#ЛатинскаяАмерика#Panama2025#музыка#праздник#гордость
👉Всегда свежие новости о странах Латинской Америки!
Музыкальные новости 🎵
1️⃣Ricky Martin — первый обладатель Latin Icon Award
На церемонии MTV VMA 2025 в Нью-Йорке легендарный пуэрториканец Рики Мартин получил первую в истории награду Latin Icon Award.
Трофей вручила Джессика Симпсон, а J Balvin почтил его карьеру, исполнив один из хитов.
«40 лет, и я всё ещё здесь. Пусть страны объединяются, а музыка живёт»
— сказал артист, посвятив премию своим детям.
За карьеру он продал более 70 млн альбомов и собрал свыше 180 наград.
2️⃣Мексика — столица латинской музыки
Аргентинский продюсер Эдуардо Басага́нья уверен: будущее музыки на испанском языке решается именно в Мексике.
Он запустил +VIVO — первую в Латинской Америке платформу цифровых концертов, а теперь развивает проект первой музыкальной метавселенной региона.
Сегодня Мексика входит в десятку крупнейших музыкальных рынков мира: доходы от стриминга превышают 1,5 млрд долларов в год. Именно отсюда на мировую сцену вышли такие артисты, как Peso Pluma.
3️⃣Sech выпускает танцевальный гимн Novio No
Панамский певец Sech вернулся с треком в стиле dancehall. Песня о свободе и уверенности звучит как гимн празднования жизни, а клип подчёркивает близость к слушателям.
В последние месяцы артист сотрудничал с Danny Ocean, Mora и другими, а теперь отмечен двумя номинациями на Premios Juventud 2025.
4️⃣El Alfa и его новый хит JamRock
Доминиканский «король дембоу» El Alfa представил свежий сингл, клип снят в Санто-Доминго. В августе он стал гостем на концерте Bad Bunny в Пуэрто-Рико, а сейчас номинирован на Premios Juventud за трек с Black Eyed Peas и Becky G.
По словам El Alfa, это признание глобальной силы доминиканской музыки.
5️⃣Tiago PZK представляет балладу Domingo
Аргентинский певец Tiago PZK выпустил эмоциональную песню в стиле ностальгической кумбии. Domingo — о тоске и воспоминаниях, которые сильнее всего ощущаются в воскресенье.
Трек продолжает успешный год Tiago: два аншлага в Movistar Arena в Буэнос-Айресе и масштабный тур по Латинской Америке и Европе.
#RickyMartin#JBalvin#Mexico#EduardoBasagaña#Sech#ElAlfa#TiagoPZK#МузыкаLatAm#PremiosJuventud#МузыкаЛАТАМ
👉Всегда свежие новости о странах Латинской Америки!
🔥Главные музыкальные премьеры
➡️Feid отметил день рождения новым хитом
Колумбиец Feid (Ferxxo) выпустил сингл Se Lo Juro Mor в свой 33-й день рождения. Песня о боли утраты и несбывшейся любви стала эмоциональным продолжением его альбома FERXXO VOL X: Sagrado.
День рождения артист отпраздновал в Японии, где стал первым латиноамериканцем на главной сцене Summer Sonic 2025. На шоу его поддержали J Balvin и Yandel, а перекрёсток Сибуя в Токио озарили зелёные огни в честь певца.
➡️Ryan Castro и Grupo Frontera — неожиданный дуэт
Колумбиец Ryan Castro объединился с американской группой Grupo Frontera в песне Apodo. Композиция о любви и разочаровании сочетает реггетон с элементами северомексиканской norteño-музыки.
Клип, снятый в Техасе — на шоссе у знаков «дорога закрыта» и на пляжах Саут-Падре-Айленда, — усиливает атмосферу тоски и личной драмы, отражённой в песне.
Трек уже вошёл в программу международного тура артиста Sendé, а сам Ryan Castro остаётся одним из самых востребованных исполнителей латино-музыки, покоряя чарты и стадионы по обе стороны континента.
➡️Branthon, Ayza и Jatchel — романтическая “Oculta”
Пуэрториканцы Branthon, Ayza и Jatchel представили трек Oculta — историю тайной страсти, поданную в форме чувственного реггетона. Клип снят в Сан-Хуане и отражает тему любви, которая рождается в тени.
➡️Алекс Понсе номинирован на Premios Juventud
Эквадорский певец Alex Ponce получил номинацию на Premios Juventud 2025 в категории «Лучший молодой артист (мужская категория)».
Эта престижная премия проводится с 2004 года телеканалом Univisión и традиционно проходила в США, главным образом в Майами. За более чем 20 лет она стала важнейшей площадкой для молодых артистов Латинской Америки, где победителей выбирают зрители. На сцене Premios Juventud в своё время стартовали Bad Bunny, Karol G, Maluma и Becky G.
В 2025 году церемония впервые выйдет за пределы США и пройдёт 25 сентября в Панаме. Это исторический момент: премия становится по-настоящему региональной, укрепляя роль Латинской Америки как центра мировой музыкальной культуры.
Для Эквадора это особенно важно, ведь Понсе стал первым артистом страны, удостоенным такой номинации.
➡️Danny Towers и Eladio Carrión с треком “Crush”
Американский рэпер Danny Towers выпустил EP Sinners Club, спродюсированный пуэрториканцем Eladio Carrión. Центральный трек Crush сочетает атмосферный латин-трэп с романтичными интонациями, а дуэт с Carrión усилил его популярность на Spotify и Apple Music.
➡️Sofía Reyes — новая эра с альбомом “IDGAF ERA”
Мексиканская певица Sofía Reyes представила четвёртый студийный альбом, в котором объединила поп, реггетон, электронику и альтернативные элементы. Фокус-трек Uñas Afiladas, созданный вместе с бразильской звездой Luísa Sonza, символизирует женскую силу и свободу.
➡️Anuel AA и Blessd с пятым совместным хитом
Пуэрториканец Anuel AA и колумбиец Blessd выпустили песню Pórtate Bonito, ставшую частью альбома Real Hasta La Muerte 2. Сейчас они вместе гастролируют по США и Канаде, собирая аншлаги и подтверждая, что их дуэт — один из самых сильных в латинской музыке.
#Музыка#ЛатинскаяАмерика#Feid#RyanCastro#GrupoFrontera#Branthon#Ayza#Jatchel#AlexPonce#PremiosJuventud#DannyTowers#EladioCarrion#SofiaReyes#AnuelAA#Blessd
👉Всегда свежие новости о странах Латинской Америки!