TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #121 · 20 јул.

Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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

Резултати

Пронајдени 6 слични објави

Пребарај: #overpowered

当前筛选 #overpowered清除筛选
SODA inside

@sodamakeup · Post #2381 · 28.01.2026 г., 12:15

Подводка для глаз: тогда и сейчас 🎀 Ещё тысячи лет назад в жарком Египте люди начали подчёркивать глаза тёмной линией. Минералы, сажа и масла превращались в кохль — символ защиты, статуса и силы. Глаза обводили и мужчины, и женщины, веря, что взгляд может многое рассказать 👁️✨ С течением времени подводка превратилась в способ выразить красоту. В античности она подчёркивала форму глаз и черты лица, а в XX веке стала настоящей иконой: немое кино, дымчатые тени, выразительные стрелки — одна линия могла полностью менять образ 🎬 В 60-е годы подводка стала смелой и графичной, настоящим заявлением характера 🩶 Сегодня это целый мир возможностей.Подводка остаётся тем инструментом, с которым взгляд становится выразительным — и каждый день можно создавать свой образ! А вы помните свою первую подводку? Попробуй подводки ☁️ и будь неповторимой! Подводка кремовая Miraculous #miraculouseyes Подводка маркер с кисточкой S-CLASS #overpowered #sodalovespopculture

SODA inside

@sodamakeup · Post #2389 · 18.02.2026 г., 13:32

🤩Вдохновляемся с Зарой Ларссон! 🤩 🌸Слушаем песни, любуемся макияжами и создаём свои яркие образы! 🫦 Небольшая подборка с косметикой Soda, которая подойдёт идеально🐚 • Подводка маркер с кисточкой S-CLASS #overpowered, 209 system • Карандаш для глаз World Of Ice #magicalpower. Коллекция Winx, 001 Cool Down • Палетка теней Magical Dust #magicalpower. Коллекция Winx • Палетка теней Heart Of Alfea #magicalpower. Коллекция Winx • Пигмент-подводка для глаз жидкая Princess Of Lynphea #magicalpower. Коллекция Winx, 002 Nature Touch #sodalovespopculture #sodainspiration

SODA inside

@sodamakeup · Post #2352 · 28.10.2025 г., 11:21

🔤🔤🔤🔤🔤🔤🔤🔤🔤 с SODA: Смелость. Креатив. Пугающее очарование! Хеллоуин — лучший повод выйти за рамки и примерить самый запоминающийся образ! С косметикой SODA ты сможешь воплотить любую идею — от утончённо-жуткой до эффектно-драматичной. Мы собрали подборку ярких образов и подсказали, какие продукты помогут повторить каждый из них.😄 Твои Must-Haves для Хеллоуина от SODA: • 🕷️ Палетка теней World Is Yours #softdivalution • 💋Idol Lip Mousse #softhot100, 104 FEARLESS • 👁Chan Накладные ресницы Hypnotic Look #softdivalution • 🕸️ Белая подводка S-CLASS #overpowered, 207 reader #sodainspiration

SODA inside

@sodamakeup · Post #2358 · 10.11.2025 г., 13:21

🎤✨Kpop Demon Hunters, but make it Soda style! Если бы наши героини выбирали косметику для своих боевых (и сценических 😏) образов, вот что бы оказалось у них в косметичке: 📌Румяна прессованные #rosycheeks, № 103 📌Подводка маркер с кисточкой S-CLASS #overpowered, 201 regressor 📌Жидкие тени для век Solaria #magicalpower. Коллекция Winx, 003 Crown Princess 📌 Chan Палетка теней World Is Yours #softdivalution Немного фиолетового, капелька блёсток — и ты уже готова спасать мир (или хотя бы танцпол). Собери свой demon-hunter look ⚡️ #sodainspiration

SODA inside

@sodamakeup · Post #2396 · 26.03.2026 г., 07:25

H2O just add water energyyyyy 🌊✨ включаем ностальгию и ловим вайб русалок вместе с SODA 🐚 солёный воздух, блеск кожи, влажные текстуры — сегодня ты main mermaid собрали продукты, чтобы повторить тот самый магический glow 👀 1.Жидкие тени для век Domino #magicalpower. Коллекция Winx, 004 Dragon Fury 2.Хайлайтер STELLAR NEBULA #billionstars 3.Сияющее масло для губ #plumpit, № 101 Fergie 4.Подводка маркер с кисточкой S-CLASS #overpowered, 209 system  Делаем макияж, будто ты только что вышла из воды и готова покорять этот мир 🌊💙 в комментариях пиши, какой сериал вернуть в тренды следующим 👇 #sodainspiration

SODA inside

@sodamakeup · Post #2343 · 20.10.2025 г., 08:13

Одержимы вайбом новых ангелов Victoria’s Secret 💗 Эти выходы, сияние, уверенность — просто мурашки! ❤️ Мы собрали продукты SODA, чтобы передать тот самый подиумный блеск: сияющие глаза, глянцевые губы и дерзость в каждом взгляде ❤️ Вот что тебе нужно для angel energy: 🎀 Подводка с кисточкой S-CLASS #overpowered, 209 system 🎀 Жидкие тени Domino #magicalpower, Winx, 004 Dragon Fury 🎀 Карандаш для глаз Zenith #magicalpower, Winx, 006 Techno 🎀Кремовая подводка Miraculous #miraculouseyes, 304 🎀 Бальзам для губ Legendary Lip Balm #sweetkiss, 001 🎀 Масло для губ ROLLIN' LIP OIL #lipbizkit, 001 Strawberry cake Немного блеска, уверенный взгляд и улыбка — и ты уже на своём подиуме 💋 #sodainspiration