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

Резултати

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

Пребарај: #integrity

当前筛选 #integrity清除筛选
Green University CA | Official

@centralasian_greenuniversity · Post #492 · 05.12.2025 г., 12:42

Green University Marks International Anti-Corruption Day 💬As part of December 9 — International Anti-Corruption Day, Green University conducted a survey among students and stuff to understand their perspectives on key issues. #GreenUniversity#AntiCorruptionDay#Integrity#Transparency#Fairness#TogetherAgainstCorruption ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube

Green University CA | Official

@centralasian_greenuniversity · Post #506 · 09.12.2025 г., 12:48

December 9 -International Anti-Corruption Day ⚠️Corruption slows progress. ❗️Integrity, transparency, and the rule of law make societies stronger. ✅Only together can we fight corruption effectively. #AntiCorruptionDay#Integrity#Transparency#RuleOfLaw #StopCorruption#Compliance#GoodGovernance ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube

Venture Village Wall 🦄

@venturevillagewall · Post #4188 · 19.02.2025 г., 07:00

Saylor's 21 Bitcoin Principles Revealed Michael Saylor shares key insights on Bitcoin ownership: 1. Experts buy Bitcoin. 2. Critics don’t understand it. 3. Opinions shift from negative to positive. 4. Learning about Bitcoin is endless. 5. Bitcoin thrives on chaos. 6. It’s a win-win game. 7. True ownership lies in Bitcoin. 8. You earn Bitcoin as per your worth. 9. Invest only what you can afford to lose. 10. Bitcoin is the ticket out of the matrix. 11. Understanding wants and needs drive comprehension. 12. Expect your models to break. 13. Bitcoin is the cure for economic woes. 14. Choose Bitcoin over fiat. 15. Bitcoin is for everyone. 16. Think in Bitcoin terms. 17. Bitcoin will change you. 18. Stay vigilant against lies. 19. Respect Bitcoin or be a fool. 20. Never sell your Bitcoin. 21. Spread the love for Bitcoin. #Bitcoin#Saylor#Crypto#Investment#Finance#Ownership#Learning#Economics#Innovation#DigitalAssets#MarketTrends#Blockchain#Wisdom#Prosperity#Opinions#Integrity#Wealth#Future#Leadership#Value

Venture Village Wall 🦄

@venturevillagewall · Post #3381 · 18.12.2024 г., 12:09

Fight Disinformation with AI INAR .IA Labs & Technologies has raised $1.21M for its innovative SaaS platform aimed at automating the detection and verification of disinformation across online content. Scheduled to launch on December 18, 2024, this multimodal and multilingual tool is set to enhance online security and information integrity. More details can be found at TrueFlag. #Funding#Technology#AI#SaaS#Disinformation#Verification#OnlineSafety#Security#Innovation#Automation#Multimodal#Multilingual#Integrity#Content#Platform#Launch #2024 #INAR#TrueFlag#Labs

«Привет, Мир»: Исторический снимок Земли с борта Orion на пути к Луне Дата: 2026-04-04 Автор снимка: NASA, Reid Wiseman, Artemis II Этот кадр, сделанный с борта космического корабля Orion «Integrity», запечатлел нашу прекрасную планету от полюса до полюса. На снимке - Земля, какой её видят астронавты миссии Artemis II, впервые за 50 лет направляющиеся к Луне. Что видно на этом снимке? · Африка и Пиренейский полуостров различимы на поверхности бледно-голубой планеты · Солнце заходит за яркий край Земли в правом нижнем углу · Северные сияния коронуют планету сверху справа и снизу слева Кто и когда сделал этот снимок? Командир экипажа Рид Уайзман сфотографировал Землю на второй день полёта (2 апреля), сразу после завершения маневра перехода на траекторию к Луне. Этот манёвр вывел Orion с околоземной орбиты и направил его к спутнику. Исторический контекст: Такое путешествие (облёт Луны с возвращением) человечество совершало в последний раз более 50 лет назад, во времена программы «Аполлон». 👩‍🚀Подписатьсяна канал. #ArtemisII#Orion#Integrity#Земляизкосмоса#снимокЗемли#РидУайзман#астронавты#луна#космос#NASA#возвращениеналУну#пилотируемыйполет#африка#пиренейскийполуостров#северноесияние#южноесияние#история#космическаяфотография