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

Резултати

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

Пребарај: #mastersdegree

当前筛选 #mastersdegree清除筛选

Magistratura lavozim o‘sishiga real ta’sir qiladimi? 🔻Magistratura ko‘pincha “yana bir diplom” sifatida qabul qilinadi, ammo ish beruvchi uchun u bir nechta muhim signalni bildiradi. 1⃣ Strategik fikrlash Magistratura sizni “topshiriq bajaruvchi” rolidan chiqarib, qaror qabul qilish darajasiga yaqinlashtiradi. Shu sababli rahbarlar bu qobiliyatni yuqori qadrlashadi. 2⃣ Boshqaruv tili va yondashuvi Magistratura davomida siz: KPI, strategiya, risk, loyiha va moliya tili bilan gapira boshlaysiz. Bu esa rahbariyat bilan bir tilda muloqot qilish degani. 3⃣ Rasmiy talab (ko‘plab tashkilotlarda) Davlat tashkilotlari, yirik korporatsiyalar, bank va holdinglarda rahbarlik lavozimlari uchun magistratura ko‘pincha muhim yoki afzal talab hisoblanadi. 4⃣ Ishonch va obro‘ Magistratura xodimga o‘z ish faoliyatida qarorlar qabul qilishda ishonch hosil qilishga yordam beradi. Ish beruvchi uchun esa xodimning rivojlanishga intilayotganini ko‘rsatadi. Shuni hisobga olish kerakki, magistratura o‘zi-o‘zidan lavozim o‘sishini ta’minlamaydi. Natija o‘qish jarayonida olingan bilim va yondashuvlarning ish faoliyatida qanchalik qo‘llanishiga bog‘liq. Magistratura yuqori samara beradi, agar: ✅ O‘qiyotgan bilimni hozirgi ish joyingizda qo‘llasangiz ✅ Case va loyihalarni real muammolaringizga moslashtirsangiz ✅ Rahbariyatga yangi yondashuv va takliflar bilan chiqsangiz ✅ Networking (aloqalar)dan foydalansangiz 📊 Shunda lavozim va daromad o‘sishi uchun asos paydo bo‘ladi. Kimlar uchun ayniqsa foydali? Magistratura quyidagi mutaxassislarga katta foyda beradi: 25–45 yoshdagi tajribali mutaxassislar O‘rta bo‘g‘in menejerlar Rahbarlikka o‘tishni rejalayotgan xodimlar Tadbirkorlar va loyiha rahbarlari Davlat yoki korporativ sektor xodimlari ❗Magistratura imkoniyat yaratadi, ammo harakatni xodimning o‘zi qiladi. Undan foydalana olganlar o‘sadi, foydalana olmaganlar esa faqat diplom bilan qoladi. 🇷🇺RU 🇬🇧ENG #GSBE#GraduateSchool#Science#Mastersdegree 🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube

Green University CA | Official

@centralasian_greenuniversity · Post #635 · 21.01.2026 г., 10:10

🇪🇺AFEPA Master’s Scholarship 2026 in Europe (Fully Taught in English) The AFEPA Master’s Programme (Agricultural, Food and Environmental Policy Analysis) is a prestigious European joint master’s degree (120 ECTS) designed for students interested in the economic analysis of agricultural, food, and environmental policies. 🗓Deadline: 13 February 2026 🌍Eligible countries: All 🗣Language: English ✔️The programme is delivered by a consortium of four leading European universities: 🇮🇹Università Cattolica del Sacro Cuore (UCSC), Italy 🇩🇪University of Bonn (UBonn), Germany 🇸🇪Swedish University of Agricultural Sciences (SLU), Sweden 🇧🇪Université catholique de Louvain (UCLouvain), Belgium ✔️What does the scholarship cover? AFEPA offers four scholarships for top applicants: 💸2 scholarships of €1,400/month for 24 months 💸2 scholarships of €700/month for 24 months Applications and full details are available via the official link below👇 🔗https://www.ilr1.uni-bonn.de/afepa/en/news/scholarship-opportunity-for-top-applicants #Scholarships#AFEPA#Erasmus#MastersDegree#StudyInEurope#Italy#Germany#Sweden#Belgium ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube