Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Рубрика: успешная компания из Латинской Америки 💪
🇨🇱 В 2015 году трое чилийцев — Матияс Мучник, Карим Пичара и Пабло Замора — решили доказать: технологии могут изменить не только промышленность, но и вкус повседневной жизни.
Так появилась компания NotCo (The Not Company) — один из самых ярких стартапов Латинской Америки.
В её основе — искусственный интеллект Giuseppe, который анализирует сотни тысяч растений и ищет сочетания, по вкусу и аромату неотличимые от привычных продуктов животного происхождения.
Так родились NotMilk, NotBurger, NotMayo и NotIceCream — растительные аналоги молока, мяса, майонеза и мороженого.
NotCo уже вошла в топ-10 FoodTech-компаний мира, а среди её партнёров — Burger King, Starbucks и Kraft Heinz.
Инвесторы — Jeff Bezos и Princeville Capital, а общий объём привлечённых инвестиций превысил 400 миллионов долларов.
4 необычных блюда, созданные с помощью ИИ “Giuseppe”
1️⃣NotMilk Latte — кофейный латте на растительном “молоке”, неотличимом по вкусу от коровьего.
2️⃣NotBurger — бургер из нута и бамбуковых волокон, с текстурой настоящего мяса.
3️⃣NotIceCream — мороженое без молока, но с тем самым сливочным вкусом детства.
4️⃣NotMayo Avocado Toast — хрустящий тост с авокадо и майонезом без яиц, ставший хитом кофеен от Сантьяго до Майами.
NotCo — это не просто стартап. Это пример того, как Латинская Америка создаёт технологии будущего, сохраняя баланс между наукой, вкусом и природой.
#NotCo#Чили#Стартап#ИИ#Технологии#Инновации#FoodTech#УстойчивоеРазвитие#ИсторииУспехаЛАТАМ
👉Всегда свежие новости о странах Латинской Америки!
Рубрика: успешная компания из Латинской Америки 💪
🇨🇱 В 2015 году трое чилийцев — Матияс Мучник, Карим Пичара и Пабло Замора — решили доказать: технологии могут изменить не только промышленность, но и вкус повседневной жизни.
Так появилась компания NotCo (The Not Company) — один из самых ярких стартапов Латинской Америки.
В её основе — искусственный интеллект Giuseppe, который анализирует сотни тысяч растений и ищет сочетания, по вкусу и аромату неотличимые от привычных продуктов животного происхождения.
Так родились NotMilk, NotBurger, NotMayo и NotIceCream — растительные аналоги молока, мяса, майонеза и мороженого.
NotCo уже вошла в топ-10 FoodTech-компаний мира, а среди её партнёров — Burger King, Starbucks и Kraft Heinz.
Инвесторы — Jeff Bezos и Princeville Capital, а общий объём привлечённых инвестиций превысил 400 миллионов долларов.
4 необычных блюда, созданные с помощью ИИ “Giuseppe”
1️⃣NotMilk Latte — кофейный латте на растительном “молоке”, неотличимом по вкусу от коровьего.
2️⃣NotBurger — бургер из нута и бамбуковых волокон, с текстурой настоящего мяса.
3️⃣NotIceCream — мороженое без молока, но с тем самым сливочным вкусом детства.
4️⃣NotMayo Avocado Toast — хрустящий тост с авокадо и майонезом без яиц, ставший хитом кофеен от Сантьяго до Майами.
NotCo — это не просто стартап. Это пример того, как Латинская Америка создаёт технологии будущего, сохраняя баланс между наукой, вкусом и природой.
#NotCo#Чили#Стартап#ИИ#Технологии#Инновации#FoodTech#УстойчивоеРазвитие#ИсторииУспехаЛАТАМ
👉Всегда свежие новости о странах Латинской Америки!
🦄Латиноамериканские «единороги» раскрыли путь к глобальному успеху
На Emprendedor Summit 2025 — главной предпринимательской конференции Латинской Америки — состоялась одна из самых ожидаемых дискуссий: Global Growth: путь единорога.
Представители трёх технологических компаний со статусом «единорога» — Stori, Bitso и NotCo — рассказали, как выросли из локальных стартапов в международные бизнесы с оценкой более $1 млрд.
Главная идея встречи: статус «единорога» — не модный лейбл, а результат умения решать масштабные проблемы с помощью стратегии, технологий и сильной команды.
◽️ Stori: «Найди проблему-единорога»
Алекс Берман, вице-президент по маркетингу Stori:
«Стать “единорогом” — это всего лишь момент в истории компании. Главное — найти проблему-единорога — такую, решение которой способно изменить рынок».
Для Stori такой проблемой стала финансовая инклюзия: в Мексике более половины из 90 миллионов взрослых не имеют доступа к банковским услугам.
Один из ярких кейсов — запуск вклада с доходностью до 15% годовых благодаря лицензии SOFIPO (общество финансов и народного сбережения), что позволило привлечь новые сегменты клиентов и увеличить доверие к финтеху.
◽️Bitso: рост через эксперименты и культурную трансформацию
Фелипе Вальехо, директор по корпоративным вопросам Bitso:
«Универсального рецепта успеха не существует. Мы начинали с пяти сотрудников и без чёткого понимания, что вообще сработает».
Bitso прошла путь от стартапа до криптокомпании с 600+ сотрудниками и присутствием в пяти странах.
Но резкий рост стал испытанием: внутри компании начался организационный кризис, потребовалась пересборка культуры, переосмысление миссии и масштабная работа с командой.
◽️NotCo: ИИ и устойчивость — как стратегия будущего
Компания создаёт растительные альтернативы животным продуктам, используя алгоритм Giuseppe, разработанный на основе ИИ. Он помогает анализировать тренды, вкусовые предпочтения и ускорять R&D (процессы исследований и разработок).
Карлос Приэго, глава NotCo в Мексике:
«Статус “единорога” не был нашей целью — но он открыл двери к найму лучших специалистов и партнёрствам на международном уровне».
С помощью Giuseppe NotCo способна адаптироваться к меняющимся вкусам рынка в разы быстрее, чем традиционные компании, и запускать продукты нового поколения в рекордные сроки.
📌 Инсайты, которые прозвучали в ходе встречи:
✔️ Как лицензия SOFIPO помогла Stori предложить вклад с доходностью до 15% годовых
✔️ Как Bitso справилась с внутренним кризисом после масштабного роста
✔️ Как ИИ помогает NotCo не просто создавать продукты, а предсказывать тренды потребления
В завершение модератор дискуссии Марисоль Гарсия подвела итог: статус «единорога» — это не финал, а стартовая точка.
Эти компании доказали: из Латинской Америки можно строить бизнесы, которые действительно меняют мир.
#EmprendedorSummit2025#ЛатинскаяАмерика#Стартапы#Bitso#Stori#NotCo#Финтех#ИИ#AI#Инновации#Единороги#Мексика#Технологии#БизнесРост#Предпринимательство
👉Всегда свежие новости о странах Латинской Америки!