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

Резултати

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

Пребарај: #day1

当前筛选 #day1清除筛选
KNAUF Uzbekistan

@knaufuzbekistan · Post #354 · 23.12.2021 г., 12:07

Gʻolibni tabriklaymiz:🥳 @Алишер Абидович Siz quyidagi sovrinlarni yutdingiz: Soyabon + KNAUF esdalik sovgʻalari🎄 - - - - - Поздравляем победителя:🥳 @Алишер Абидович Вы выиграли: Зонтик + сувениры от КНАУФ🎄 #day1

Hashtags

Designer Muhammadjon

@designbymuhammadjon · Post #539 · 11.06.2025 г., 06:35

#blog#day1 ⚠️ Assalomu alaykum, dizayn ixlosmandlari! ❤️‍🔥Bugundan men ham o'z grafik dizayn blogimni boshlayapman. 💎 Bu yerda men grafik dizayndagi muammolar, chalkashliklar va ko‘p uchraydigan xatolar haqida gaplashaman — eng muhimi, ularning oddiy, samarali yechimlari bilan bo‘lishaman! Nega bu blog? Chunki har kuni dizaynerlar bir xil savollar, muammolar, tanlovlar va noaniqliklarga duch kelishadi. Bu blog orqali sizga yordam beraman: ✅ Yaxshi dizayn qilish uchun maslahatlar ✅ Real loyihalarda ishlaydigan texnika va yechimlar ✅ Dizayn o‘zgarishining sabab va oqibatlari Har kuni bitta muammo va bitta yechim! Agar siz ham dizayn yo‘lida qiynalayotgan bo‘lsangiz — bu blog aynan siz uchun. 📣 🔥Keling, dizaynni birgalikda yengillashtiramiz!

Hashtags

Тексты Тела

@textytela · Post #601 · 03.06.2024 г., 05:26

СТИХОТВОРЕНИЕ ОБ ОДНОМ МИРЕ. МЭРИ ОЛИВЕР Сегодня утром прекрасная белая цапля парила над водой а потом взмыла в небо единственного мира которому мы все принадлежим где все рано или поздно становится частью всего остального и от этой мысли ненадолго я тоже ощутила себя достаточно прекрасной. (перевела Наташа Пресс) #49daysforhope#day1

Embassy of Russia in Singapore

@rusembsg · Post #3144 · 11.06.2024 г., 00:30

⚡️#Day1 of the #BRICS Ministerial in Russia's Nizhny Novgorod has concluded. First plenary session, dozens of bilateral meetings and talks (check our feed). Here's a snippet and a sneak peak into the amazing atmosphere of BRICS cooperation. #BRICS2024

KNAUF Uzbekistan

@knaufuzbekistan · Post #551 · 14.08.2023 г., 13:01

🧐Javoblar qabuli yakunlandi. Agar siz 8 ta savoldan 7 tasiga javob bergan bo'lsangiz, siz yutuqli o'yinda qatnashasiz.😊 Yutuqli o'yin bugun soat 18:30 da bo'lib o'tadi.👌 Omad! - - - - 🧐Прием ответов завершён. Если вы ответили на 7 из 8 вопросов, вы участвуете в розыгрыше.😊 Розыгрыш дня состоится сегодня в 18:30.👌 Удачи! #tanlov#day1

Hashtags

KNAUF Uzbekistan

@knaufuzbekistan · Post #350 · 23.12.2021 г., 10:01

🧐Javoblar qabuli yakunlandi. Agar siz 5 ta savoldan 4 tasiga javob bergan bo'lsangiz, siz yutuqli o'yinda qatnashasiz.😊 Yutuqli o'yin bugun soat 17:00 da bo'lib o'tadi.👌 Omad! - - - - 🧐Прием ответов завершён. Если вы ответили на 4 из 5 вопросов, вы участвуете в розыгрыше.😊 Розыгрыш дня состоится сегодня в 17:00.👌 Удачи! #tanlov#day1

Hashtags

Eva Karene Bartlett

@EvaKarene_Bartlett · Post #28983 · 19.12.2025 г., 08:13

I echo Leila's words: "all i want for christmas is for people to give generously to our siblings in gaza, palestine ..." https://x.com/ainiladra/status/2001708468299075745 "Please choose a family from the top of http://lifeline4gaza.com. Let everyone know who you donated to by sharing their appeal link with #ll4gazaAdvent#Day1 & ask people to match, so the whole chain stays visible and keeps growing!" https://x.com/ll4gaza_ofcl/status/1995499875757416690

⚡️#Day1 of the #BRICS Ministerial in Russia's Nizhny Novgorod has concluded. First plenary session, dozens of bilateral meetings and talks (check our feed). Here's a snippet and a sneak peak into the amazing atmosphere of BRICS cooperation. #BRICS2024

“OʻzTMK” AJ | Rasmiy kanal

@uztmk_official · Post #4051 · 02.03.2026 г., 15:45

#PDAC_2026 #Uzbekistan_Day #Day1 🌎 PDAC-2026 doirasida o‘tkazilgan “Uzbekistan Day” — O‘zbekistonning global kritik minerallar arenasida tobora ortib borayotgan ahamiyati va integratsiyalashgan sanoat modelini xalqaro auditoriya kun tartibiga olib chiqdi. 🫥🫥🫥 🌎"Uzbekistan Day", held as part of PDAC-2026, showcased the nation's growing importance and integrated industrial model to an international audience in the global critical minerals arena. 🫥🫥🫥 🌎"Uzbekistan Day", проведенный в рамках PDAC-2026, представил международной аудитории растущее значение и интегрированную промышленную модель Узбекистана на глобальной арене критически важных минералов. 🫥🫥🫥 ✅TMK matbuot xizmati 🌐Web-site|🔵Facebook |📷Instagram| 🎰LinkedIn|🎬Youtube|🚀Telegram

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