@placeholderpics · Post #59354 · 05.04.2026 г., 03:07
shallia: 😾 #Sandrone https://twitter.com/ria_0261/status/2040399360945705401
Hashtags
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
Пребарај: #sandrone
@placeholderpics · Post #59354 · 05.04.2026 г., 03:07
shallia: 😾 #Sandrone https://twitter.com/ria_0261/status/2040399360945705401
Hashtags
@daily0721 · Post #32937 · 28.02.2026 г., 16:23
https://x.com/yuno_kaihara/status/2027703079924318670 改原ユノ︎︎✦︎C107新作通販中 : 『コロンビーナ!受け取りなさい!』 #Sandrone
Hashtags
@daily0721 · Post #32354 · 14.12.2025 г., 04:30
https://x.com/_wYwYwYw_/status/1999855131744203065 エス🔰C107(火) 東8 V-19ab : 冬コミで出す閉じ込めアクリルブロック絵! サンドローネ #Sandrone
Hashtags
@daily0721 · Post #32322 · 10.12.2025 г., 08:17
https://x.com/ameoto_00/status/1998385971797373339 雨鳴响彻 : ⚙️木偶⚙️ #Sandrone
Hashtags
@daily0721 · Post #33129 · 29.03.2026 г., 04:29
https://x.com/TrarosRHea/status/2037848334657106328 槭叶映泉 : 🕊️🐱 #Columbina#Sandrone
Hashtags
@daily0721 · Post #32864 · 19.02.2026 г., 04:58
https://x.com/L3Yent/status/2024123489108545889 いわしつみれ🌸skeb募集中 : 大大遅刻のバレンタイン🍫💕😂 #Sandrone#Columbina
Hashtags
@daily0721 · Post #32285 · 03.12.2025 г., 12:06
https://x.com/yukiunag1/status/1996143847072780756 ゆきうなぎ🐰C107(火)東7A14ab : 『サンドローネあーんして♡』 #Columbina#Sandrone
Hashtags
@CosineGallery · Post #3886 · 16.12.2025 г., 11:50
サンドローネ🫖#Sandrone#GenshinImpact Source by twitter ma@C107-1日目 東7 P20b 原始标签:#Sandrone#GenshinImpact 自定义标签:#甜妹#原神 尺寸: 1000x1399 @CosineGallery | 网站 | 3862
Hashtags
@Paihub · Post #43419 · 03.05.2026 г., 13:03
Title: 水着サンドローネ Tag: #Sandrone#桑多涅 From Pixiv By ぴあ
@Paihub · Post #43417 · 03.05.2026 г., 13:03
Title: この世界でワタシに寄り添ってくれるのは月だけのようだ。 Tag: #Sandrone#桑多涅 From Pixiv By Minamo
@Paihub · Post #43416 · 03.05.2026 г., 13:03
Title: 制服なサンドローネ Tag: #Sandrone#桑多涅 From Pixiv By 基井あゆむ
@Paihub · Post #43364 · 26.04.2026 г., 13:03
Title: むぎゅっとサンドローネ Tag: #Sandrone#桑多涅 From Pixiv By たけのおもち