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

Резултати

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

Пребарај: #abo

当前筛选 #abo清除筛选
Bao Inc.

@baoinc · Post #281 · 28.09.2025 г., 17:52

#Желание#ABO#Новелла#Часть1 ⏺️Главы 1-50: Глава 1Глава 2 Глава 3 Глава 4Глава 5Глава 6 Глава 7 Глава 8 Глава 9 Глава 10Глава 11Глава 12 Глава 13Глава 14Глава 15 Глава 16Глава 17Глава 18 Глава 19Глава 20Глава 21 Глава 22Глава 23Глава 24 Глава 25Глава 26Глава 27 Глава 28Глава 29Глава 30 Глава 31Глава 32Глава 33 Глава 34Глава 35 Глава 36 Глава 37 Глава 38 Глава 39 Глава 40 Глава 41 Глава 42 Глава 43 Глава 44 Глава 45 Глава 46 Глава 47 Глава 48 Глава 49 Глава 50

Bao Inc.

@baoinc · Post #282 · 28.09.2025 г., 17:52

#Желание#ABO#Новелла#Часть2 ⏺️Главы 51-104: Глава 51 Глава 52 Глава 53 Глава 54 Глава 55 Глава 56 Глава 57 Глава 58 Глава 59 Глава 60 Глава 61 Глава 62 Глава 63 Глава 64 Глава 65 Глава 66 Глава 67 Глава 68 Глава 69 Глава 70 Глава 71 Глава 72 Глава 73 Глава 74 Глава 75 Глава 76 Глава 77 Глава 78 Глава 79 Глава 80 Глава 81 Глава 82 Глава 83 Глава 84 Глава 85 Глава 86 Глава 87 Глава 88 Глава 89 Глава 90 Глава 91 Глава 92 Глава 93 Глава 94 Глава 95 Глава 96 Глава 97 Глава 98 Глава 99 Глава 100 Глава 101 Глава 102 Глава 103 Глава 104

🔞《把alpha人鱼陛下叼回窝》作者:双面煎大鳕鱼 重生的机甲隼王白翎潜入皇宫要刺杀新君,却被误作omega的人鱼先皇叼回窝,标记成新任“皇后”。一个是残疾疯隼,一个是温柔病娇的人鱼陛下,权与欲交缠,甜虐交织,星际震动的绝色囚宠物语由此开幕。 #ABO#强强#星际#涩文

《社畜beta被a包围》 作者:丧团子 社畜Beta程安每天被四位风格迥异的Alpha团团围住:冷面总裁上司、阳光咖啡兼职生、阴湿美术实习生、温柔医生,全员无脑宠他!他美而不自知,上班被盯下班被追,论坛天天热议“安安猫萌即正义”!轻松无脑甜宠日常,爽感满满! #都市#甜宠#ABO#团宠

马可西亚斯-NSFW

@godaddynsfw · Post #3051 · 09.02.2024 г., 15:27

#さか#內射#義父子#ABO さか-阿爾法無法抗拒本能,帶著佔有慾發生關係! 喜歡作者請直接給作者支持 推特Fanbox 背景說明: 這個故事發生在一個ABO世界觀裡面,除了男性與女性外,各自都還可以衍化成阿爾法、貝塔、奧米迦三種"第二性別",阿爾法僅有生殖器,而貝塔與奧米迦則同時有生殖器與生殖腔,在ABO的世界觀內,即使是同性別,也能使第二性徵為"貝塔"或"奧米迦"懷孕產子,而"奧米迦"則會定期"發情"。

ПретходнаСтраница 1 од 3Следна