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

Резултати

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

Пребарај: #ethiopiantradition

当前筛选 #ethiopiantradition清除筛选

🌟 FROM ADDIS TO SILICON VALLEY: YOUNG ETHIOPIANS BUILDING THE FUTURE! የአዲስ አበባ ወደ ሲሊኮን ቫሊ፡ የኢትዮጵያ ወጣቶች ወደፊቱን እየገነቡ ነው! Your country is not your obstacle - it's your SUPERPOWER! 💪 ሀገርህ መሰናክል አይደለም - ሱፐር ኃይልህ ነው! 🏆 REAL SUCCESS STORIES: 💰BETHLEHEM TILAHUN ALEMU | ብርሀን ጥላሁን ዓለሙ • Founded soleRebels (footwear company) at 25 • $10M+ revenue, exports to 50+ countries • Made from recycled tires + traditional weaving • Featured in Forbes, Times Magazine • "I turned our grandmother's craft into global brand!" 🎵TEDDY AFRO & MUSIC EMPIRE | ቴዎድሮስ ካሳሁን • Albums sold 2M+ copies worldwide • Concert revenues $500K+ per show • African music ambassador to the world • Started from Addis Ababa streets 🌱AGRITECH REVOLUTION: • 2030 Vision: Digital farming apps • EthioSIS: Soil mapping technology (government project) • Young farmers earning 300% more using smartphones • Export potential: $2B+ organic coffee market 👩‍💼WOMEN ENTREPRENEURS: • Maya Haile-Mariam: Tech startup $5M valuation • Selamawit Chekol: Fashion brand expanding to USA • Martha Tilahun: Food processing empire 💡YOUR ADVANTAGES AS ETHIOPIAN: ✅ Ancient culture = unique design aesthetics ✅ Coffee heritage = premium brand story ✅ 13-month calendar = exclusive time management apps ✅ Multilingual (80+ languages) = translation services ✅ High altitude = athletic training programs ✅ History (3000+ years) = educational content gold mine 🚀START TOMORROW - 3 SIMPLE STEPS: 📱 STEP 1: DIGITAL PRESENCE • Create Instagram/TikTok showcasing Ethiopian culture • Use trending hashtags: #EthiopianTradition#AfricanInnovation • Post daily content in English + Amharic 💰 STEP 2: MONETIZE YOUR KNOWLEDGE • Teach Amharic online (Italki, Preply): $15-25/hour • Sell handmade crafts on Etsy: $20-200+ per item • Create YouTube cooking channel: Ethiopian cuisine going viral! 🌍 STEP 3: THINK GLOBAL • Partner with diaspora communities (2M+ Ethiopians worldwide) • Export coffee/spices through e-commerce • Offer virtual Ethiopian cultural experiences 📞RESOURCES TO START: • IceAddis: Startup incubator in Addis Ababa • Ethiopia Commodity Exchange: Connect with coffee buyers • Women in Tech Ethiopia: Female entrepreneurs network • TechnoServe: Business development programs 💎GOLDEN RULE: "Every problem in Ethiopia = business opportunity for smart youth!" 🔥MOTIVATIONAL CLOSE: Your ancestors built Lalibela without cranes. You can build digital empires with just a smartphone! The world needs what Ethiopia has. Your job is to package it beautifully and sell it globally! 🌍✨ የአባቶችህ ላሊበላን ክሬን ሳይጠቀሙ ገነቡት። አንተ ስማርትፎን ብቻ ተጠቅመህ ዲጂታል ግዛቶችን መገንባት ትችላለህ! ✨ Expert-reviewed content | Verified by Ethiopian business & tech specialists #EthiopianEntrepreneurs#StartupEthiopia#DigitalEthiopia#AfricanInnovation#ኢትዮጵያ#BusinessSuccess🇪🇹💰🚀