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

Резултати

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

Пребарај: #queen

当前筛选 #queen清除筛选
无损音乐分享频道

@d_wusun · Post #5957 · 29.03.2026 г., 05:52

名称:Queen - Queen II (2026 Mix) FLAC Hi-Res 24bit 96kHz qobuz 描述:1974年经典专辑《Queen II》2026年 全新混音重制,由Brian May与Roger Taylor监制,御用团队重塑母带,还原乐队早期最厚重、华丽的艺术摇滚气质 。专辑分“白/黑”双主题,《White Queen》《March of the Black Queen》等名作细节更通透,层次更立体。作为皇后乐队首张公认杰作,此版以现代技术重现70年代录音的磅礴与精致,是乐迷必收的经典重绎版本 。 链接:https://pan.quark.cn/s/b82029cbde0c 📁 大小:668MB 🏷 标签:#hires#无损音乐#音乐#皇后乐队#queen

无损音乐分享频道

@d_wusun · Post #5924 · 26.03.2026 г., 23:32

名称:Queen - Queen II (2026 Mix) FLAC Hi-Res 24bit 96kHz qobuz 描述:1974年经典专辑《Queen II》2026年 全新混音重制,由Brian May与Roger Taylor监制,御用团队重塑母带,还原乐队早期最厚重、华丽的艺术摇滚气质 。专辑分“白/黑”双主题,《White Queen》《March of the Black Queen》等名作细节更通透,层次更立体。作为皇后乐队首张公认杰作,此版以现代技术重现70年代录音的磅礴与精致,是乐迷必收的经典重绎版本 。 链接:https://pan.quark.cn/s/b82029cbde0c 📁 大小:668MB 🏷 标签:#hires#无损音乐#音乐#皇后乐队#queen

无损音乐分享频道

@d_wusun · Post #5906 · 24.03.2026 г., 17:47

名称:Queen - 2011年SACD系列 - Hot Space DSD DSF 描述:1981年,在David Bowie的帮助下,QUEEN成功在新浪潮音乐的汹涌波涛中站稳了脚跟,单曲Under Pressure登上了英国排行榜的冠军位置,这也是他们继Bohemian Rhapsody以来的另一首冠军单曲,收录在1981年出版的精选专辑Greatest Hits以及1982年的专辑Hot Space(白热地带)中。不过Hot Space专辑并没有引起人们多大的热情,因为这仍是一张轻松取巧的专辑,既不那么流行又不那么高雅。 01. Staying Power 02. Dancer 03. Back Chat 04. Body Language 05. Action This Day 06. Put Out the Fire 07. Life Is Real (Song for Lennon) 08. Calling All Girls 09. Las Palabras de Amor (The Words of Love) 10. Cool Cat 11. Under Pressure 链接:https://pan.quark.cn/s/f03e3c84c0ee 📁 大小:1.74GB 🏷 标签:#Queen#Hot Space 日版 #音乐#无损音乐#猪儿虫

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40176 · 23.11.2025 г., 23:01

Freddie Mercury passed away on November 24, 1991—the very day his song "Bohemian Rhapsody" climbed back to number one on the UK charts as a heartfelt tribute. 🎤🏆 [Read more] Feel free to share his music or tributes. Please keep it relevant and respectful. [Read more] @googlefactss #FreddieMercury#Queen#MusicHistory

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