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

Резултати

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

Пребарај: #qiziq

当前筛选 #qiziq清除筛选
Ruxsor TRK

@ruxsorteleradiokanali · Post #11190 · 07.03.2026 г., 08:56

#qiziq Gollivud yulduzlari Oʻzbekiston bozorlarida sotuvchilik qilishsa qanday boʻlardi?😁 📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓! 📝Telegram 💻Instagram 🎞Youtube🎙Radio FM _106.7

Hashtags

Dilnozaxon Kattaxonova🇺🇿

@dkattakhanova · Post #3875 · 11.12.2024 г., 06:15

#Qiziq Bugun ertalabdan yoshlarforumiz.uz platformasiga kelib tushgan takliflarni ko'rib chiqar ekanman, bir necha juda qiziq fikrlarga ko'zim tushdi. Dilnoza Muhammadiyevaning - galofit o‘simliklaridan ajratib olinadigan endofit bakteriyalardan suspenziya tayyorlab, uni sho‘rlanish va stress sharoitlariga qarshi qo‘llash bo‘yicha bildirilgan taklifi meni qiziqtirib qo'ydi. Nasibjon Sharofiddinovning - @mutolaaxona loyihasini rivojlantirish bo'yicha bergan takliflari, xususan, oylik marafonlar hamda asar mualliflari bilan muloqotlar, qahramonlarni sun'iy idrok orqali gavdalantirish yoki o'quvchilarga mutolaaning sovg'alarini taqdim etish kabi ko'plab takliflari bizga juda ma'qul. Biz Nasibjonni mutolaa jamoasiga ham taklif qilamiz. Sardor Mahmudjonovning - suvsiz hamda toshloq yerlarda kovul o'simligini yetishtirish va bu orqali aholi bandligini ta'minlash bo'yicha qilgan ishlari, taklifi ham juda qiziq. Albatta, qolgan takliflarni ham o'rganib chiqmoqdamiz. Ayni damda ularga aloqaga chiqib, takliflarini vazirlik idora rahbarlari yoki ilmiy institutlarga yo'naltiramiz. Loyihaning ommalashishiga hissa qo'shamiz. Siz ham tashabbus va g'oyalaringizni yoshlarforumi.uz platformasiga yuboring. Takliflaringiz vazirlik va hokimliklar tomonidan qo'llab-quvvatlanishida albatta yordam beramiz. @alisher_sadullaev

Hashtags

Midjourney uz | Neyron Tarmoq

@midjourneyuzofficial · Post #2846 · 27.04.2023 г., 16:39

Bir dasturchi o'zi uchun qiziqarli o'yin-kulgini o'ylab topdi. U gulli idishga namlikni aniqlaydigan datchikni qo'ydi va o'simlik chanqaganida, karnaylardan "yordam so'rash uchun baland ovozda" eshitiladi . ✈️@CyberAsia | #Qiziq🐈

Hashtags

uzmilliymedia

@uzmilliymedia · Post #2278 · 09.02.2024 г., 04:36

BUYUK SHOIR VA MUTAFAKKIR ALISHER NAVOIY TAVALLUDINING583 YILLIGI #qiziqTeatrdan viloyatgacha: Alisher Navoiy nomi berilgan joy va binolar haqida qisqacha: 📕Alisher Navoiy nomidagi O‘zbekiston Milliy kutubxonasi - Kutubxonaga Alisher Navoiy nomi 1948-yilda berilgan. 🏛Alisher Navoiy nomidagi Davlat adabiyot muzeyi - Navoiy tavalludining 500 yilligi munosabati bilan 1939-yilda tashkil topgan. ⛪️Alisher Navoiy nomidagi Toshkent davlat o‘zbek tili va adabiyoti universiteti - 2016-yil 13-mayda O‘zbekiston Respublikasi Prezidentining farmoniga asosan tashkil qilingan. 🎭Alisher Navoiy nomidagi Davlat akademik katta teatri - 1948-yil mart oyida teatrga Alisher Navoiy nomi berildi. Ⓜ️Alisher Navoiy bekati - Toshkent metropolitenining chiroyli metro bekatlaridan bo‘lib, 1984-yil foydalanishga topshirilgan. 🏰Alisher Navoiy nomidagi milliy bog‘ - 1991-yildan ushbu nomni olgan. Telegram | Instagram | Facebook | Sayt | YouTube

Hashtags

Til va adabiyot ta’limi

@TAT_jurnal · Post #1664 · 12.01.2025 г., 06:10

#qiziq 🎯 Кредитни кридит демаслик – имловий саводхонлик. Кредит устига кредит олмаслик – молиявий саводхонлик. 🙂 Mavlon Marasulov 📱Sayt📱Telegram📱Murojaat📱Muhokama

Hashtags

Til va adabiyot ta’limi

@TAT_jurnal · Post #1549 · 26.10.2024 г., 06:11

#qiziq Amerikalik tadbirkor va o‘gli O'zbek tili bayramida sahnaga chiqib, o'zbekona lutflar bilan so‘zlab, hammani qoyil qoldirdi. O‘g‘li Toshkent shahridagi o'zbek maktabida o‘qir ekan. U o‘ziga o'zbekcha Elyor deb ism tanlaganini aytmaysizmi?! Otasi o‘g‘liga qarab: "E-e, otangga rahmat!" deb qo‘yishlari-chi😄 Sayt | Telegram | Murojaat | Muhokama

Hashtags

Til va adabiyot ta’limi

@TAT_jurnal · Post #1486 · 15.10.2024 г., 05:10

#qiziq Siz qaysi birisiz? 📕💵 1) Puli koʻp odamning koʻzini yogʻ bosib qoladi. 2) Na puli, na bilimi bor kimsa burnining tagini ham koʻrolmaydi. 3) Kitob oʻqigan insonning koʻzqarashi keng boʻladi. 4) Dunyoni boricha koʻrmoq uchun esa puling ham, biliming ham yetarli boʻlishi kerak. Siz qaysi toifaga kirasiz? Izohda yozing! 👇 Sayt | Telegram | Murojaat | Muhokama

Hashtags

Ali Ahmad

@AlisherAhmatovich · Post #674 · 07.11.2022 г., 15:24

#qiziq 💻Texnik qarz nima? “Texnik qarz” degan tushuncha mavjud. Bu shuni anglatadiki, siz bir vaqtlar dasturlashda kompromiss qarorlar qabul qilgansiz va endi sizda shu sababli muammolar mavjud. Karuselda texnik qarz nima ekanligini, qayerdan kelib chiqqanligini va u bilan nima qilish kerakligini batafsil tahlil qildik. ✍️Ishingizda bunday muammoga qanchalik tez duch kelganingizni va uni qanday hal qilganingizni izohlarda yozib qoldiring.

Hashtags

Kompyuter Bilimlari | Windows Blog

@kompyuter_bilimlari · Post #6397 · 15.05.2024 г., 03:19

💻3ds Max dasturi uchun qanday kompyuter kerak? ✈️ Barchaga ma'lumki grafikaga bog'liq dasturlar uchun kuchli kompyuter talab etiladi. 3ds Max uchun ham shunday kuchli kompyuter talab etiladi. Boshlang'ich: • Protsessor — Intel Core i5 (9-avlod tepasi) yoki AMD Ryzen 5 (3-avlod tepasi) • Videokarta — nVidia yoki AMD yoki Intel, 4GB, GDDR6 • Tezkor xotira — 8GB, DDR4 • Asosiy xotira — SSD 128GB + yoki HDD 512GB + Normal ishlash uchun: • Protsessor — Intel Core i7 (10-avlod tepasi) yoki AMD Ryzen 7 (4-avlod tepasi) • Videokarta — NVidia GeForce GTX yoki RTX, 4 yoki 6GB, GDDR6 • Tezkor xotira — 16GB +, DDR4 • Asosiy xotira — SSD 256 yoki 512GB + & HDD 1TB + Bemalol ishlash uchun: • Protsessor — Intel Core i9 (10-avlod tepasi) yoki AMD Ryzen 9 (4-avlod tepasi) • Videokarta — NVidia GeForce RTX, 8GB +, GDDR6 • Tezkor xotira — 32GB +, DDR4 yoki DDR5 • Asosiy xotira — SSD 1TB + ➡️Birinchi raqamli Windows Blog | #qiziq / #foydali

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