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

Резултати

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

Пребарај: #thunder

当前筛选 #thunder清除筛选
America 🇺🇸 News & Politics

@America · Post #10411 · 22.03.2026 г., 13:11

🏀🇺🇸NBA CHAMPION THUNDER SKIP WHITE HOUSE VISIT CITING "TIMING" 🔹 Oklahoma City Thunder cite scheduling conflict during March 20-21 D.C. road trip 📅 🔹 Team was in Washington for games vs Wizards - first regular season visit since 2025 title 🏆 🔹 Trump departed for Mar-a-Lago March 20, potentially contributing to scheduling issues ✈️ 🔹 Thunder won first franchise championship in June 2025, beating Indiana Pacers in Finals 🏀 🔹 Historical pattern: Teams declined Trump invitations in 2017 (Warriors) amid political tensions 🚫 White House tradition dates to 1963 - another Trump-era sports controversy! 🏛️⚡ #USNews#NBA#Thunder#WhiteHouse#sports @america

Fang的资源分享群

@flmdongtianfudi · Post #16290 · 17.03.2026 г., 13:25

融合版Thunder 12.2.1.2930:高效的下载管理工具 提供融合版Thunder 12.2.1.2930,具备强大的下载加速功能,支持多协议下载,提升下载速度与稳定性,满足各种文件下载需求。 🔗:https://pan.quark.cn/s/7595f5513244 #Thunder#下载工具#高效下载#融合版#文件管理#加速下载 🔔Twitter👥频道💬群组

Fang的资源分享群

@flmdongtianfudi · Post #15783 · 15.01.2026 г., 13:06

《融合版Thunder 12.2.1.2930》,下载工具+高速传输+多功能集成 提供强大的下载管理功能,支持高速传输与多种文件格式,提升用户下载体验,满足各类文件获取的需求。 🔗:https://pan.quark.cn/s/d3b6621199df #Thunder#融合版#下载工具#高速传输#多功能#文件管理#用户体验 🔔Twitter👥频道💬群组

VIP_影视分享

@WangZhuanZhan · Post #33946 · 11.10.2024 г., 13:15

M-m魔m法f总z动d员y- 魔法总动员 The House of Magic (2013) 直达链接:https://pan.quark.cn/s/9081c6eb7bc9 #魔法总动员#魔法之家 #The House of Magic #魔幻奇屋#Le Manoir Magique #Thunder and the House of Magic 链接:https://link3.cc/sf_com #电影#喜剧#其他#10年代

Fang的资源分享群

@FLMdongtianfudi · Post #15107 · 13.11.2025 г., 12:51

融合版 Thunder 12.2.1.2930【11.2.2】 提供强大的下载管理与优化功能,支持多种协议,提升用户下载体验,适合各类文件与资源的快速获取。 🔗:https://pan.quark.cn/s/fedb065a0bb1 #Thunder#下载管理#优化功能#快速下载#文件获取#资源管理 🔔Twitter👥频道💬群组

Crypto M - Crypto News

@CryptoM · Post #64512 · 09.04.2026 г., 04:59

🚀 Polymarket Settles Thunder vs. Clippers Game-Winner Market Polymarket has concluded the market for the Thunder vs. Clippers game after the Thunder emerged victorious. According to NS3.AI, the SolMoe account profited approximately $80,000 from this outcome. Prior to the game, the account had invested around $270,000 in Thunder-winning positions at a price of about 76.2¢. #Polymarket#Thunder#Clippers#GameWinner#NS3AI#SolMoe#SportsBetting#MarketSettlement

VIP_影视分享

@WangZhuanZhan · Post #34095 · 16.10.2024 г., 07:02

C-c雌c雄x双s辣l - 雌雄双辣 雌雄雙辣 (1989) (粤语) 直达链接:https://pan.quark.cn/s/24ca0545b204 #雌雄双辣#雌雄雙辣 #来自江湖#贼公差婆 #流氓差婆 #Thunder Cops II 链接:https://link3.cc/sf_com #电影#喜剧#香港#80年代

VIP_影视分享

@WangZhuanZhan · Post #34094 · 16.10.2024 г., 07:00

C-c雌c雄x双s辣l- 雌雄双辣 雌雄雙辣 (1989) (普通话) 直达链接:https://pan.quark.cn/s/3715bacb0a63 #雌雄双辣#雌雄雙辣 #来自江湖#贼公差婆 #流氓差婆 #Thunder Cops II 链接:https://link3.cc/sf_com #电影#喜剧#香港#80年代

Crypto M - Crypto News

@CryptoM · Post #64482 · 09.04.2026 г., 02:25

🚀 Significant Bet Placed on Thunder in NBA Regular Season Matchup Against Clippers A notable prediction event on Polymarket involves a user with a win rate exceeding 58% who has invested $270,000 on the Oklahoma City Thunder defeating the Los Angeles Clippers. According to Odaily, the average opening price for this bet was 76.2¢. The NBA regular season game between the Thunder and the Clippers commenced today at 10 a.m. UTC+8. As the game progresses into the first quarter, the Thunder hold a record of 63 wins and 16 losses, placing them first in the Western Conference. Meanwhile, the Clippers are ranked eighth with a record of 41 wins and 38 losses. #NBA#Thunder#Clippers#Polymarket#Betting#OklahomaCityThunder#LosAngelesClippers#WesternConference#Basketball#NBASeason