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 слични објави

Пребарај: #mediatrends

当前筛选 #mediatrends清除筛选
VEON AdTech

@veonadtech · Post #286 · 17.12.2025 г., 10:15

😮Gen Z не «выходит» в онлайн — он там живёт. Мы проанализировали, как выглядит их цифровой день: от утренних скроллов до вечернего прайм-тайма. Кто забирает внимание и когда — в карточках выше👆 #VEONAdTech#GenZInsights#AttentionEconomy#DigitalData#UserEngagement#MediaTrends 👋👋Всё о digital-рекламе в Узбекистане: аналитика, лайфхаки и готовые решения.

IELTS|Newspapers & Magazines|English

@emagzinewspars · Post #9539 · 14.11.2025 г., 10:10

#The_NewYorker🇺🇸📕[PDF]⬇️ 17 #November2025 #Weekly_Magazines For learning, for free(dom). @backupofmagazines This issue moves through New York’s shifting moods, capturing a city shaped by #CultureWatch tensions, #PoliticsNow anxieties and the creative pulse of #NYCLife. From the rise of conspiracy voices to Rian Johnson’s #ArtScene vision and Rosalía pushing pop into harder terrain, the magazine reveals how storytelling bends with the moment. Essays reflect on America’s coming 250th year, while profiles like David Byrne’s search for meaning deepen the emotional layers. Even the subway on the cover suggests a #RealPeople narrative woven through daily noise and #MediaTrends shaping how we see the world.

Ακόμα περισσότερη πρακτική και νέα insights για τα media! ✨ Οι συμμετέχοντες του προγράμματος «Γειά σου, Ρωσία!», ανάμεσά τους και δύο νέοι από την 🇬🇷 Ελλάδα — ο Οδυσσέας Θεοχαρίδης και η Τζένιφερ Ράδερφορντ — συνεχίζουν να συναντούν ειδικούς του χώρου και να εμβαθύνουν στις τάσεις της σύγχρονης μιντιακής σκηνής. Οι νέοι παρακολούθησαν τρεις masterclasses σε μία μέρα: 🔹 «Τάσεις στα media: πλατφόρμες, δίκτυα, περιεχόμενο» – με τον Ευγένι Κλεστς, επικεφαλής του τμήματος συνεργασιών του Εργαστηρίου Νέων Μέσων της ΜΚΟ «Διάλογος των Περιφερειών». • Συζητήθηκαν τα πιο δημοφιλή social media και πλατφόρμες σήμερα, ποια formats και είδη περιεχομένου είναι πιο αποτελεσματικά και πώς να επιλέγεις το σωστό μέσο για να προωθείς το δικό σου project. 🔹 «Τι είναι το fact-checking; Μέθοδοι επαλήθευσης πληροφορίας από ανοιχτές πηγές» – με τον Βιατσεσλάβ Μάρτσενκο, υπεύθυνο του τομέα κατά της παραπληροφόρησης στην ίδια οργάνωση. • Οι συμμετέχοντες έμαθαν πώς να εντοπίζουν ψευδείς ή αλλοιωμένες πληροφορίες, ποιες μέθοδοι επαλήθευσης υπάρχουν και ποια εργαλεία μπορούν να χρησιμοποιούν οι σύγχρονοι δημοσιογράφοι και bloggers. 🔹 «Τι πρέπει να γνωρίζουμε για τα σύγχρονα μέσα» – με τον Όλεγκ Δημητριεφ, αναπληρωτή διευθυντή του Ινστιτούτου ΜΜΕ της Σχολής Δημιουργικών Βιομηχανιών του Εθνικού Ερευνητικού Πανεπιστημίου Οικονομικών Επιστημών (HSE). 🛥 Η ημέρα ολοκληρώθηκε με μια μαγευτική κρουαζιέρα στον ποταμό Μόσχοβα, προσφέροντας στους συμμετέχοντες έμπνευση από την ατμόσφαιρα της νυχτερινής Μόσχας. @rossotrudnichestvo@zdravstvui_Russia #ΓειάσουΡωσία#MediaSchool#ΔιάλογοςΠεριφερειών#HSE#Μόσχα#MediaTrends#Εκπαίδευση#Νεολαία