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

Резултати

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

Пребарај: #budapest

当前筛选 #budapest清除筛选
Sayohatnoma: Bagajsiz!

@bagajsiz · Post #1027 · 18.04.2026 г., 06:11

#Budapest#Hungary Matias favvorasi (Mátyás kútja) Bu favvora ko'pincha Vengriyaning "Trevi favvorasi" deb ham ataladi. Unda Vengriyaning eng mashhur qirollaridan biri Matias Korvin (Matthias Corvinus) ov paytida tasvirlangan. Markazdagi haykal qirolning o'zi, uning atrofida esa ov itlari va o'lja (kiyik) tasvirlari bor. Favvora 1904-yilda haykaltarosh Alayos Shtrobl (Alajos Stróbl) tomonidan yaratilgan. Haykallar orasida bir qizning (Go'zal Ilonka) haykali ham bor. Afsonaga ko'ra, u o'rmonda ov qilib yurgan yigitning qirol ekanini bilmay, uni sevib qoladi. Keyinchalik uning haqiqiy kimligini bilib, ayriliq g'amidan vafot etadi. Favvora neobarokko uslubida ishlangan bo'lib, saroyning g'arbiy devoriga juda mohirlik bilan uyg'unlashtirilgan. @bagajsiz

Sayohatnoma: Bagajsiz!

@bagajsiz · Post #1021 · 18.04.2026 г., 06:07

#Budapest#Hungary Buda qal'asi (vengr. Budavári Palota) tasvirlangan. Bu bino Vengriya qirollarining tarixiy qarorgohi va saroy majmuasi Tarixi: Qal'a birinchi marta 13-asrda mo'g'ullar bosqinidan keyin mudofaa maqsadida qurilgan. Asrlar davomida u ko'p marta vayron qilingan va qayta tiklangan. Hozirgi barokko uslubidagi ko'rinishi asosan 18-19-asrlarga tegishli. Joylashuvi: U Dunay daryosining g'arbiy sohilidagi Qal'a tepaligida (Várhegy) joylashgan bo'lib, u yerdan shaharning (Pest qismining) go'zal panoramasi ko'rinadi. Hozirgi holati: Bugungi kunda saroy binosida Vengriya Milliy galereyasi va Budapesht tarixi muzeyi joylashgan. YUNESKO: Buda qal'asi butun Qal'a okrugi bilan birgalikda 1987-yilda YUNESKOning Butunjahon merosi ro'yxatiga kiritilgan. @bagajsiz

Sayohatnoma: Bagajsiz!

@bagajsiz · Post #1014 · 04.04.2026 г., 03:55

#Budapest#Hungary Shandor saroyi (Sándor-palota) 2003-yildan buyon bu bino Vengriya Prezidentining rasmiy ish joyi va qarorgohi hisoblanadi. Saroy 1803–1806-yillarda graf Vinsent Shandor buyurtmasiga binoan klassitsizm uslubida bunyod etilgan 📍Joylashuvi Bino Budapeshtning tarixiy qismi boʻlgan Buda qalʼasi (Budavári Palota) majmuasida, "Funicular" (tepaga chiquvchi poyezd) bekati roʻparasida joylashgan. Uning yonida mashhur Matyash cherkovi va Baliqchilar bastioni mavjud. @bagajsiz

Sayohatnoma: Bagajsiz!

@bagajsiz · Post #987 · 01.04.2026 г., 09:59

#Budapest#Hungary Muhtasham obidalardan biri — Avliyo Ishtvan bazilikasi (Szent István-bazilika) Vengriya ramzi: Bu cherkov Vengriyaning birinchi qiroli Avliyo Ishtvan sharafiga nomlangan. Binoning balandligi 96 metr bo'lib, u Vengriya parlamenti binosi bilan bir xil balandlikda — bu mamlakatda dunyoviy va diniy hokimiyat tengligini anglatadi. Bazilikani qurish juda uzoq — 54 yil davom etgan (1851-1905). Qurilish davomida hatto uning gumbazi bir marta qulab ham tushgan. Cherkov ichida qirol Ishtvanning saqlanib qolgan o'ng qo'li mumiya holatida maxsus qutida saqlanadi. Bu vengerlar uchun eng muhim diniy yodgorlik hisoblanadi. Bazilikaning tepasiga (gumbaz qismiga) liftda yoki zinalar orqali chiqish mumkin. U yerdan butun Budapesht shahri kaftdek ko'rinib turadi. Rasmda ko'rinib turgan geometrik naqshli maydon — Avliyo Ishtvan maydoni bo'lib, u yerda qish oylarida Yevropaning eng chiroyli Rojdestvo bozorlaridan biri tashkil etiladi. @bagajsiz

Trump's Ear

@trumpsear_tg · Post #1673 · 22.10.2025 г., 13:29

🇺🇸White House Press Secretary Caroline Leavitt posted a correspondence with a Huffington Post journalist who asked her about who came up with the idea of Trump's meeting with Putin in Budapest and received an answer: “Your mom did.” 😳 #WhiteHouse#Trump#Putin#Budapest 👂More on Trump's Ear ⚠️

Antoine Cléraux

@corrAntoine · Post #517 · 24.10.2025 г., 05:18

❗️L'annulation du sommet à #Budapest, et les nouvelles restrictions américaines visant Moscou ont suscité une réaction plutôt favorable à #Bruxelles. Les dirigeants de l'#UE se sont réunis aujourd'hui pour annoncer leur nouveau paquet de sanctions, le 19e. Notre reporter Antoine Cléraux nous donne les détails. RT en français • Osez questionner !

Libertà è ragione

@libertaeragione · Post #4178 · 15.05.2024 г., 14:07

#Italia#Ungheria Il tribunale di secondo grado ha accolto la richiesta del legale di Ilaria #Salis (#AVS|LEFT-G/EFA), concedendole i domiciliari a #Budapest dopo 15 mesi di detenzione preventiva per aver aggredito militanti di estrema destra nella capitale ungherese. L'ordine del tribunale diverrà effettivo solo dopo il pagamento della cauzione, stabilita dal giudice in euro 40'000, e Salis dovrà comunque indossare il braccialetto elettronico. @OsservatorioItaliano

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