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

Резултати

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

Пребарај: #reklama

当前筛选 #reklama清除筛选
NASAF TV UZ

@nasaftvuz · Post #64565 · 18.04.2026 г., 06:05

#reklama Allergiyasiz hayot — Suprastineks Telegram|Instagram|Facebook|Youtube|Dilnomalar "Nasaf TV"ni onlayn ko'rish👇🏻 ITV|TVCOM|Telegram|Cinerama

Hashtags

NASAF TV UZ

@nasaftvuz · Post #64457 · 15.04.2026 г., 07:41

#reklama T BANK — unaqasi bitta! Telegram|Instagram|Facebook|Youtube|Dilnomalar "Nasaf TV"ni onlayn ko'rish👇🏻 ITV|TVCOM|Telegram|Cinerama

Hashtags

NASAF TV UZ

@nasaftvuz · Post #64445 · 14.04.2026 г., 12:30

#reklama Pepsi bilan mazaliroq! Telegram|Instagram|Facebook|Youtube|Dilnomalar "Nasaf TV"ni onlayn ko'rish👇🏻 ITV|TVCOM|Telegram|Cinerama

Hashtags

NASAF TV UZ

@nasaftvuz · Post #64387 · 13.04.2026 г., 12:56

#reklama Farzandlar uchun to'g'ri tanlov! Telegram|Instagram|Facebook|Youtube|Dilnomalar "Nasaf TV"ni onlayn ko'rish👇🏻 ITV|TVCOM|Telegram|Cinerama

Hashtags

NASAF TV UZ

@nasaftvuz · Post #64310 · 11.04.2026 г., 10:17

#reklama Haqiqiy bayram ta'mi ☺️ Telegram|Instagram|Facebook|Youtube|Dilnomalar "Nasaf TV"ni onlayn ko'rish👇🏻 ITV|TVCOM|Telegram|Cinerama

Hashtags

NASAF TV UZ

@nasaftvuz · Post #64240 · 09.04.2026 г., 12:21

#reklama Borjomi 135 yillik o'zgarmas an'ana. Telegram|Instagram|Facebook|Youtube|Dilnomalar "Nasaf TV"ni onlayn ko'rish👇🏻 ITV|TVCOM|Telegram|Cinerama

Hashtags

NASAF TV UZ

@nasaftvuz · Post #63286 · 15.03.2026 г., 14:26

#reklama Roʻzmetov Sütlü mazali yeguliklari🫶🫶 Qadoqdan iste'molga tayyor👍 ✅Telegram 📱Instagram ✅Facebook ✅Youtube 🎁Dilnomalar 🎥📱ITV 🎥📺TVCOM 🎥✅Telegram 🎥🎬Cinerama

Hashtags

Migrant.uz - Vatandosh ROSSIYA

@migrantuzb · Post #15924 · 01.05.2026 г., 12:31

❗️ ❗️ ❗️ ❗️ MKBANKda yangi xalqaro tizim — BEST ishga tushdi! 🌎 BEST bu — yangi avlod xalqaro pul o‘tkazma tizimi: 👈 Yuqori tezlik va minimal komissiya 👈 Zamonaviy himoya texnologiyalari 👈 Qulay va oddiy jarayon! Endilikda, Siz yaqinlaringizga bir necha daqiqa ichida pul yuborish yoki qabul qilish imkoniga egasiz. ➡️ Eng yaqin bank bo'linmasiga borib, hoziroq sinab ko'ring! Dam olish kunlari ham ishlaymiz 🫡 ✅ Zamonaviy yechimlarni tanlang - MKBANK bilan bir qadam oldinda bo'ling! 🌐Veb-sayt | 👍MAVRID | 📱Instagram | 🌐Facebook | 🌐YouTube | ☎️Call-markaz #reklama

Hashtags

Migrant.uz - Vatandosh ROSSIYA

@migrantuzb · Post #15862 · 21.04.2026 г., 14:02

Mablag'laringizni O'zbekiston yoki boshqa davlatlarga foydali va qulay tarzda o'tkazing 💸🇹🇯🇦🇲🇰🇿🇰🇬🇺🇿🇧🇾 O'zbekistonga pul o'tkazmalari yanada oson va manfaatli bo'ldi. «Uralsib» banki xalqaro o'tkazmalarni qulay kursda va mablag'larni to'g'ridan-to'g'ri qabul qiluvchi bankka o'tkazishni taklif etadi. Kartaga bepul yetkazib berish bilan buyurtma bering va uni ertagayoq o'zingizga qulay joyda qabul qilib oling! BUYURTMA BERISH Nima uchun bu qulay: ✔️ Komissiyasiz; ✔️ Manfaatli valyuta kursi; ✔️ Onlayn o'tkazma — pul tez yetib boradi; ✔️ Hammasi «Uralsib Online» ilovasida: «Платежи» (To'lovlar) → «За границу» (Chet elga) → «Узбекистан» (O'zbekiston). Mablag'laringizni ortiqcha tashvishlarsiz va yaxshi kursda yuboring. erid: 2SDnjd7ZpCJ Рекламодатель: ПАО «Банк Уралсиб» ИНН: 0274062111 #reklama

Hashtags

Migrant.uz - Vatandosh ROSSIYA

@migrantuzb · Post #15437 · 22.02.2026 г., 14:04

AnjirPay ilovasi orqali Rossiyadan O‘zbekistonga pul o‘tkazmalarini qulay tarzda amalga oshiring! AnjirPay sizga RossiyadanO‘zbekistondagi Uzcard va Visa kartalariga o‘tkazmalar, shuningdek Naqd pul yuborish imkoniyatini taqdim etadi. 🎁 AnjirPay’ni hoziroq yuklab oling va 400 rubl bonusga ega bo‘ling! #reklama

Hashtags

Migrant.uz - Vatandosh ROSSIYA

@migrantuzb · Post #15435 · 22.02.2026 г., 10:36

🏦O‘zbekiston va Rossiya o‘rtasidagi pul o‘tkazmalari MAVRID ilovasi bilan yanada oson! Masofa uzoq bo‘lsa ham, yaqinlarga g‘amxo‘rlik o‘z vaqtida yetib borishi muhim. 🌎MAVRID ilovasida ASTRASEND xizmatini tanlang — mablag‘ingiz bir necha daqiqa ichida manzilga yetadi. ⚡️Afzalliklari: — Hamyonbop komissiya — Ishonchli va xavfsiz tizim — Oson ro‘yxatdan o‘tish MAVRID ilovasini yuklab oling va xalqaro pul o‘tkazmalaringizni bir zumda amalga oshiring! #reklama

Hashtags

Migrant.uz - Vatandosh ROSSIYA

@migrantuzb · Post #15408 · 18.02.2026 г., 13:59

AnjirPay ilovasi orqali Rossiyadan O‘zbekistonga pul o‘tkazmalarini qulay tarzda amalga oshiring! AnjirPay sizga RossiyadanO‘zbekistondagi Uzcard va Visa kartalariga o‘tkazmalar, shuningdek Naqd pul yuborish imkoniyatini taqdim etadi. 🎁 AnjirPay’ni hoziroq yuklab oling va 400 rubl bonusga ega bo‘ling! #reklama

Hashtags

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