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

Резултати

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

Пребарај: #talabalaruchun

当前筛选 #talabalaruchun清除筛选
TerDU Yuridik fakulteti

@terdu_yuridik · Post #3430 · 18.08.2025 г., 11:24

#TalabalarUchun 🎓 Talaba bo‘lganlar OTMga qanday hujjatlar berishi kerak? ➡️1. Rektornomiga ariza; ➡️2. Pasport nusxasi (asli ko‘rsatilgan holda); ➡️3. Diplomyoki attestat (ilovasi bilan birga) asl nusxasi; ➡️4. Tilbilish darajasinitasdiqlovchi sertifikat asli; (agar bo‘lsa) ➡️ 5. 3,5x4,5 foto 12 ta; ➡️6. Hujjatlar yig‘ma jildi (papka skorosshivatel); ➡️7. Konvert A5 formatida; ➡️8. Talabalar turar joyi (sharoiti og‘ir va kam ta’minlanganligini tasdiqlovchi hujjati bor talabalar uchun) ariza (kerak bo‘lsa) ➡️9. Imtiyoz asosida talabalikka tavsiya etilganlar uchun (imtiyoz beruvchi hujjatning asli, agar bo‘lsa). 🖋Tavsiya: Qaysi OTMga qabul qilingan bo‘lsangiz, o‘sha OTMga ushbu hujjatlarni topshirishingiz so‘raladi. Iloji bo‘lsa, talabasi bo‘lgan OTMingizning ijtimoiy tarmoqlardagi sahifalarini kuzatib boring! ✈️Barcha talabalikka erishgan yaqinlarga xabardor qiling. Bizning sahifalarimiz: 1️⃣Telegram2️⃣Instagram 3️⃣Facebook📺You tube

IT Blog

@ITbusiness_school · Post #2674 · 19.03.2025 г., 08:00

🚀GameDev dasturi bo‘yicha grant joylar davom etmoqda Agar siz o‘yin yaratish olamiga qiziqsangiz va haqiqiy professionalga aylanishni orzu qilsangiz, bu imkoniyat aynan siz uchun! 🎮✨ 🎯250 nafar iste’dodli yoshlar uchun bepul o‘quv kurslari! Siz nafaqat nazariy bilim olasiz, balki amaliy ko‘nikmalarga ega bo‘lib, yirik o‘yin studiyasining bir qismiga aylanish imkoniyatiga ham ega bo‘lasiz! 📌Ta’lim yo‘nalishi: UNITY + C# 🗣Darslar o‘zbek, rus va ingliz tillarida olib boriladi 📅O‘qish muddati: 4 oy (haftasiga 3 marta, oyiga 12 dars) ⏰Dars davomiyligi: 1,5 soat (90 daqiqa) 📜Kurs yakunida sertifikat beriladi! 🚀Eng yaxshi talabalar IT-kompaniyalarda amaliyot o‘tash imkoniyatiga ega bo‘ladilar! 💡 Bu ajoyib imkoniyatni qo‘ldan boy bermang! GameDev olamiga birinchi qadam qo‘ying! 👉Ro‘yxatdan o‘tish:talent.itic.uz/game-dev 📞Murojaat uchun: +998954741919 #GameDev#Grant#UNITY#Unity#IT#OyinDasturlash#TalabalarUchun#ITImkoniyat

TerDU Yuridik fakulteti

@terdu_yuridik · Post #3717 · 07.10.2025 г., 04:28

🌍XALQARO MAQOLA YOZISH TRAINING 🌍 🎓 Trener: Abdurasulova Sabrina Sanjarovna Termiz davlat universiteti Yuridik fakulteti Advokatura faoliyati yo‘nalishi magistratura talabasi, ko‘plab huquqiy maqolalar muallifi. 📅 Sana: 8-oktyabr, 2025-yil 🕣 Vaqt: 8:30 📍 Joy:Termiz Davlat Universiteti Asosiy bino Yoshlar Markazi 1 - qavat 💻 Format: OFFLINE 💡 Barcha talabalar uchun noyob imkoniyat! Xalqaro miqyosda maqolalarni 0 dan yozish sirlarini o‘rganing, ilmiy fikrlashni rivojlantiring va o‘z maqolangizni nufuzli jurnallarda chop etish yo‘lini bilib oling! ✨ Ilmga qadam qo‘ying — natija o‘zingizni ajratib turadi! 🔗 Murojaat uchun:@Mohishtoxirovna #Training#MaqolaYozish#TalabalarUchun#Huquq#TermizUniversity#IlmYo‘lida #OltinQanot#Offline