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

Резултати

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

Пребарај: #qutlovlar

当前筛选 #qutlovlar清除筛选
8TV.UZ Official

@xorazm8tv_rasmiy · Post #1337 · 16.06.2024 г., 08:07

Бутун мусулмонлар уммати учун муқаддас бўлган Қурбон ҳайити – Ийд ал-Адҳо байрами муносабати билан Ўзбекистон Республикаси Президенти Шавкат Мирзиёев номига хорижий давлатлар ва ҳукуматлар, етакчи халқаро ва минтақавий ташкилотлар раҳбарларидан, таниқли жамоат ва дин арбобларидан самимий табриклар келмоқда. — В связи с наступлением священного для всей мусульманской уммы праздника Курбан хайит – Ийд аль-Адха на имя Президента Республики Узбекистан Шавката Мирзиёева поступают сердечные поздравления глав зарубежных государств и правительств, авторитетных общественных и религиозных деятелей, руководителей ведущих международных и региональных организаций. #Mirziyoyev#qutlovlar#Qurbonhayiti Prezident.uz|Facebook|Instagram|YouTube|X

IIV | Rasmiy kanal

@IIVUZ · Post #143375 · 20.03.2026 г., 14:30

Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev nomiga muborak Iyd al-Fitr bayrami – Ramazon hayiti munosabati bilan xorijiy davlatlar va hukumatlar, yirik xalqaro va mintaqaviy tashkilotlar rahbarlari, taniqli din va jamoat arboblaridan samimiy qutlovlar kelmoqda. — В связи с наступлением светлого праздника Ийд-аль Фитр - Рамазан-хайита на имя Президента Республики Узбекистан Шавката Мирзиёева поступают поздравительные послания от глав зарубежных государств и правительств, крупных международных и региональных организаций, видных религиозных и общественных деятелей. #Mirziyoyev#qutlovlar#Ramazonhayiti Prezident.uz|Facebook|Instagram|YouTube|X

Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev nomiga muborak Iyd al-Fitr bayrami – Ramazon hayiti munosabati bilan xorijiy davlatlar va hukumatlar, yirik xalqaro va mintaqaviy tashkilotlar rahbarlari, taniqli din va jamoat arboblaridan samimiy qutlovlar kelmoqda. — В связи с наступлением светлого праздника Ийд-аль Фитр - Рамазан-хайита на имя Президента Республики Узбекистан Шавката Мирзиёева поступают поздравительные послания от глав зарубежных государств и правительств, крупных международных и региональных организаций, видных религиозных и общественных деятелей. #Mirziyoyev#qutlovlar#Ramazonhayiti Prezident.uz|Facebook|Instagram|YouTube|X

Оhangaron shahar hokimligi

@ohangaronshahar · Post #76050 · 20.03.2026 г., 14:49

Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev nomiga muborak Iyd al-Fitr bayrami – Ramazon hayiti munosabati bilan xorijiy davlatlar va hukumatlar, yirik xalqaro va mintaqaviy tashkilotlar rahbarlari, taniqli din va jamoat arboblaridan samimiy qutlovlar kelmoqda. — В связи с наступлением светлого праздника Ийд-аль Фитр - Рамазан-хайита на имя Президента Республики Узбекистан Шавката Мирзиёева поступают поздравительные послания от глав зарубежных государств и правительств, крупных международных и региональных организаций, видных религиозных и общественных деятелей. #Mirziyoyev#qutlovlar#Ramazonhayiti Prezident.uz|Facebook|Instagram|YouTube|X

Navroʻzi olam munosabati bilan Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev nomiga samimiy tabriklar kelmoqda. Ularda yurtimizning koʻp millatli xalqiga tinchlik-osoyishtalik, farovonlik va ravnaq tilaklari bildirilgan. — В связи с праздником Навруз в адрес Президента Республики Узбекистан Шавката Мирзиёева поступают сердечные поздравления с искренними пожеланиями мира, благополучия и процветания многонациональному народу нашей страны. #Mirziyoyev#qutlovlar#Navruz Prezident.uz|Facebook|Instagram|YouTube|X

Наврўз байрами муносабати билан Ўзбекистон Республикаси Президенти Шавкат Мирзиёев номига хорижий давлатлар ва ҳукуматлар, етакчи халқаро ташкилотлар раҳбарлари, таниқли дин ва жамоат арбобларидан қутловлар келмоқда. — По случаю праздника Навруз на имя Президента Республики Узбекистан Шавката Мирзиёева поступают поздравления от глав зарубежных государств и правительств, руководителей ведущих международных организаций, видных религиозных и общественных деятелей. #Mirziyoyev#qutlovlar#Navruz Prezident.uz|Facebook|Instagram|YouTube|Twitter

Ўзбекистон Республикаси Президенти Шавкат Мирзиёев номига муддатидан илгари сайловдаги ишончли ғалабаси ва лавозимига киришгани муносабати билан хорижий мамлакатларнинг давлат ва ҳукумат етакчилари, таниқли сиёсат ва жамоат арбоблари, етакчи халқаро ва минтақавий ташкилотлар раҳбарларидан самимий қутловлар келмоқда (янгиланган). — В связи с убедительной победой на состоявшихся досрочных выборах и вступлением в должность на имя Президента Республики Узбекистан Шавката Мирзиёева продолжают поступать искренние поздравления от глав государств и правительств зарубежных стран, видных политических и общественных деятелей, руководителей ведущих международных и региональных организаций (обновлено). #Mirziyoyev#qutlovlar#hamkorlar Prezident.uz|Facebook|Instagram|YouTube|Twitter

Мамлакатимизда 9 июль куни бўлиб ўтган Ўзбекистон Республикаси Президенти сайловида Шавкат Мирзиёев ғалаба қозонгани муносабати билан унинг номига хорижий давлатлар ва ҳукуматлар, нуфузли халқаро ташкилотлар раҳбарларидан қутловлар келмоқда. Табрикномаларда давлатимиз раҳбарига бахт-саодат ва катта муваффақиятлар, Ўзбекистоннинг кўп миллатли халқига эса тинчлик-осойишталик ва равнақ тилаклари изҳор этилган. — От глав иностранных государств и правительств, руководителей авторитетных международных организаций в адрес Шавката Мирзиёева поступают поздравления в связи с его победой на выборах Президента Республики Узбекистан, состоявшихся 9 июля. В посланиях искренне выражаются теплые пожелания благополучия и больших успехов главе нашего государства, а также мира и процветания многонациональному народу Узбекистана. #Mirziyoyev#qutlovlar#saylov2023#galaba Prezident.uz|Facebook|Instagram|YouTube|Twitter

Мамлакатимизда 9 июль куни бўлиб ўтган Ўзбекистон Республикаси Президенти сайловида Шавкат Мирзиёев ғалаба қозонгани муносабати билан унинг номига хорижий давлатлар ва ҳукуматлар, нуфузли халқаро ташкилотлар раҳбарларидан қутловлар келмоқда. Табрикномаларда давлатимиз раҳбарига бахт-саодат ва катта муваффақиятлар, Ўзбекистоннинг кўп миллатли халқига эса тинчлик-осойишталик ва равнақ тилаклари изҳор этилган. — От глав иностранных государств и правительств, руководителей авторитетных международных организаций в адрес Шавката Мирзиёева поступают поздравления в связи с его победой на выборах Президента Республики Узбекистан, состоявшихся 9 июля. В посланиях искренне выражаются теплые пожелания благополучия и больших успехов главе нашего государства, а также мира и процветания многонациональному народу Узбекистана. #Mirziyoyev#qutlovlar#saylov2023#galaba Prezident.uz|Facebook|Instagram|YouTube|Twitter