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

Резултати

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

Пребарај: #swag

当前筛选 #swag清除筛选
NISNEVICH

@Whyhet · Post #7298 · 14.11.2025 г., 06:59

Больше ностальгии богам ностальгии На дворе 2025. Кайли Дженнер возвращается в снэпчат с ником King Kylie, Maison Margiela переиздает кроссовки Future спустя 14 лет, а модели Victoria's Secret носят упругие укладки нулевых. За последние пять лет в соцсетях успели «воскресить» ранний Y2K, indie sleaze, #swag начала 2010-х, Tumblr 2014-го и baddie 2016-го. Dazed пишут: если прошлые поколения переосмысливали конкретные эпохи, сейчас мы отражаем абсолютно все из них одновременно Замредактора Vogue Business Электра Коцони объясняет: архивная природа интернета не позволяет ничему исчезнуть, а Vinted и eBay (читай — Авито) делают прошлое доступным в пару кликов. Каким бы веселым ни был модный День сурка: продолжайте оборачиваться достаточно долго, и вы будете только ходить по кругу. Вместе с этим сама идея субкультуры размывается, когда сводится только к её визуальным элементам. Там, где тренды когда-то возникали из плотно сплоченных сообществ, теперь целые эпохи кодифицируются как идентичности сами по себе. Вы indie sleaze середины нулевых, #swag 2010-х или baddie 2016-го? Различия кажутся почти перформативными Вы тоже заметили, что мода ходит по кругу? Или вам кажется, что что-то принципиально новое всё-таки появляется?

Hashtags

臀控-腿控🔞

@tuinsdbq · Post #6290 · 11.04.2026 г., 00:06

#SWAG 前凸后翘大长腿巨奶夜店小姐漂亮房公主包厢被王董点台玩骰子输了被爆操惨叫声呻吟声混合非常刺激对白精彩 👉点击免费加入👈

Hashtags

后花园

@CirrusNFT · Post #1897 · 26.03.2026 г., 09:46

#swag 姐夫小姨子的系列 国产的都是姐夫勾搭小姨子,到了台湾怎么就成了小姨子勾搭姐夫了,回头可以去台湾娶一个,很大几率还能送一个 精彩奉上小姨子扣开逼就要干姐夫

Hashtags

探花 🔞国产 福利

@qitianfuli2 · Post #761 · 26.03.2026 г., 06:41

#SWAG bonnybb 肏翻濕穴絲襪OL 大量射精の 😼 😼 😼 😼 😼 😼 😼 😼 😼 😼 😼 😼 😊 🥲 🤣 😉 😌 😍 😍 🥰 😋 😊 😐 娱乐注册:qt00029.com 😐 七天飞投: @qitianFT

Hashtags

探花 🔞国产 福利

@qitianfuli2 · Post #759 · 26.03.2026 г., 06:39

#SWAG bonnybb 偷窺鄰居の癡女逆3P 😼 😼 😼 😼 😼 😼 😼 😼 😼 😼 😼 😼 😊 🥲 🤣 😉 😌 😍 😍 🥰 😋 😊 😐 娱乐注册:qt00029.com 😐 七天飞投: @qitianFT

Hashtags

后花园

@cirrusnft · Post #654 · 13.03.2026 г., 09:15

#SWAG 真实AV拍摄现场面试女模特儿试玩假鸡巴突然变成大个真鸡巴被猛男搞的高潮迭起

Hashtags

Desi Memes Funny Jokes

@desi_memes_funny_jokes · Post #5055 · 21.07.2024 г., 10:38

Sigma Rules 😎🤡 🦋#amh4rxh🦋 #hkeditz13#reelitfeelit#reelkarofeelkaro#explorelove ! #explorepage ! #bollywoodsongs ! #lovesongs ! #bollywoodedits#reels#attitude#attitude😎#swag#sigmarules#sigmarule#thefamilystar