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

Резултати

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

Пребарај: #onix

当前筛选 #onix清除筛选
Mashinalar

@mashinalar · Post #1217 · 01.11.2022 г., 07:14

⚡️Bugundan boshlab “Chevrolet Onix” avtomobili uchun shartnoma berish boshlandi Narxlar bilan tanishing: 1,2 МТ Soddalashtirilgan komplektatsiya– 110 000 000 soʻm 1LS 1,2 МТ – 133 040 000 so’m 1LT 1,2 МТ – 138 400 000 so’m 3LT 1.2 МТ – 141 960 000 so’m LTZ 1,2 Turbo AT – 165 180 000 so’m (Narxlar qo‘shilgan qo‘shimcha soliqsiz ko‘rsatilgan) Avtomobil haqidagi batafsil ma'lumotlar bilan ushbu havola orqali tanishib chiqing. #onix ✅@mashinalar

Hashtags

Chevrolet Uzbekistan

@chevroletUzbekistan · Post #236 · 26.12.2023 г., 04:15

Chevrolet brendi “Chevrolet Onix bilan yangi yil kayfiyati” tanlovi ishtirokchilari o‘rtasida qisqa ro‘yxatni e’lon qiladi. Quyida saralangan ishtirokchilarning videolari yuklanadi, ular orasidan g‘olib kanal obunachilari tomonidan ovoz berish yo‘li bilan aniqlanadi. Ovoz berish 2023-yil 28-dekabr soat 20:00 gacha davom etadi. G'oliblarni e'lon qilish 2023 yil 29 dekabr kuni. Ishtirokchilarga omad tilaymiz. ______________ Бренд Chevrolet объявляет, шорт лист среди участников на конкурсе "новогоднее настроение с Chevrolet Onix". Ниже будут загружены видео работы участников из шорт листа, среди которых победителя определят подпсичики канала вы путем голосования. Голосование продлиться до 20:00, 28 декабря 2023г. Объявление победителей 29 декабря 2023г. ________ Short list Ishtirokchilarini video ishlari: Видео-работы участников шорт листа: 1) https://youtu.be/5R-lP_WAECk?si=pPCFrqzouEKHGD2Y - Oydin Xalilova. 2) https://youtu.be/B9yoyn1zpDs?si=GkiOniRjRRNlezrE - Xusniddin Bahodirov 3) https://youtu.be/LPYhHt1GpE4?si=1wZ_vXB_stv7uCaf - Bestim_pro 4) https://youtube.com/shorts/etLiLvNCkUE?si=5MloMb1F3yR-2pfc - Regina_Kim 5) https://youtube.com/shorts/NH3tkAMIR1o?si=CCzJGRN6uyIsb9V7 - Stasian Желаем удачи участникам! #Chevrolet#Onix#Новогоднее#настроение

Лодки Экспо

@lodkiexpo · Post #125 · 18.09.2025 г., 12:24

⛵️⛳️В начале сентября команда выставки «Лодки Экспо» посетила мероприятие «Яхты & Гольф 25» в Завидово. ✨Частью этого события стали ведущие верфи России, брокерские компании, яхтенные дизайнеры и поставщики оборудования. 🎥Смотрите видео-интервью с представителями компаний «Авиатор»,«Njord Boats»,«Trinity Yachts» и «Onix», а также читайте нашу статью, чтобы узнать, что думают эксперты и представители компаний о тенденциях развития яхтенного бизнеса в России 2025. 🌀Подпишись на «Лодки Экспо»! #ЛодкиЭкспо#лодки#Завидово#Яхты&Гольф #Авиатор#Onix#TrinityYachts#NjordBoats#гольф

Chevrolet Uzbekistan

@chevroletUzbekistan · Post #767 · 30.10.2025 г., 16:00

🚗 Nega avtomobilingiz ko‘p yoqilg‘i sarflaydi? Ba’zan bunga sabab texnik nosozlik emas, oddiy odatlarimiz bo‘lishi mumkin. Bosimi past shinalar, tozalanmagan filtrlar yoki shunchaki tajovuzkor haydash — barchasi yoqilg‘i sarfini sezilarli oshiradi. Chevrolet sizga eslatadi: 👉 Texnik xizmatni vaqtida o‘tkazing. 👉 Ortiqcha yuk va keskin tezlanishlardan saqlaning. 👉 Mashinangizni sog‘lom saqlang — u sizni uzoq yo‘llarda ham ishonch bilan olib boradi. 💡 Qiziqarli va foydali avtomobil maslahatlari uchun sahifamizga obuna bo‘ling! #ChevroletUzbekistan#Chevrolet#Yoqilg‘iTejamkorlik #HaydovchiMaslahati#Onix#Tracker ---- 🚗 Почему ваш автомобиль расходует больше топлива? Иногда причина не в поломке, а в привычках. Низкое давление в шинах, грязные фильтры или резкие разгоны — всё это увеличивает расход топлива. Chevrolet напоминает: 👉 Проходите техобслуживание вовремя. 👉 Избегайте лишнего груза и резких ускорений. 👉 Заботьтесь о своём автомобиле — он ответит вам надёжностью на каждом километре. 💡 Подписывайтесь на нашу страницу — впереди ещё больше полезных и интересных советов! #ChevroletUzbekistan#Chevrolet#ЭкономияТоплива#СоветыВодителям#Onix#Tracker

Chevrolet Uzbekistan

@chevroletUzbekistan · Post #512 · 05.03.2025 г., 12:43

O‘zbekiston yo‘llarida eng mashhur Chevrolet modellari! Ishonch, qulaylik va tejamkorlik – har doim siz bilan. Chevrolet brendini tanlaganingiz uchun minnatdorchilik bildiramiz! #ChevroletUz#EngMashhurModellar#Cobalt#Damas#Tracker#Onix#IshonchliTanlov#AvtoUz

Chevrolet Uzbekistan

@chevroletUzbekistan · Post #521 · 20.03.2025 г., 11:20

Shinalaringizning bosimi to‘g‘ri ekanini qachon oxirgi marta tekshirdingiz?🤔 Ko‘pchilik bu haqida unutadi, lekin noto‘g‘ri bosim shinalarning tez yeyilishiga, qulaylikning kamayishiga va hatto xavfsizlikka ta’sir qilishi mumkin! To‘g‘ri bosim – tejamkorlik, xavfsizlik va haydash qulayligi demak! Tracker va Onixda esa bu yanada oson! Batafsil – videoda! 🎥 #Chevrolet#Tracker#Onix#Shinalar#XavfsizHaydovchi#ShinaBosimi#Yo‘llardaHavfsizHaydov #ShinaParvarishi#AvtomobilTexnikasi