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

Пребарај: #brokerage

当前筛选 #brokerage清除筛选
СВой в лизинге

@svoyinleasing · Post #451 · 23.04.2026 г., 04:07

Магия Мира Маркетинга В бизнесе нет магии. Есть только цифры, у цифр - продажи, у продаж - Клиенты, у Клиентов - деньги. Природой так заведено, что семья счастлива только тогда, когда она полная. Папа-маркетинг, приносит добычу в виде Клиента. Мама-продажа превращает интерес Клиента в деньги и заботится о том, чтобы в доме всегда была прибыль. И спорить, кто тут главный, нет никакого смысла. В семье под названием бизнес нет главных. Но если маркетинг и продажи начнут ссориться и перестанут жить вместе, ребёнок по имени «прибыль» долго не проживёт. Обожаю маркетинг. Это прям моё. И в новой для себя нише, я всегда ставлю маркетинг во главу угла. Потому что нет смысла стрелять белке в глаз, целясь из гладкоствольного ружья с расстояния 200 метров. Тут нужно оружие посерьезней – такое, как мелкокалиберная нарезная винтовка с гравировкой «МММ». МММ - Market. Message. Media. ▪️Market (рынок) - кому продаём Знай СВоего Клиента - да будет тебе счастье. Изучаем все: кто Клиент, что у него болит, сколько у него денег, как принимает решение, где ходит. ▪️Message (сообщение) - что говорим Сначала было - слово. Сильное сообщение — это не «у нас дешево и качественно», а фраза, от которой Клиент достает деньги и говорит: «Это для меня, куда платить ?». Четко. Без воды. ▪️Media (канал) — где говорим Ты можешь знать рынок и иметь мощное сообщение, но если ты вещаешь в пустоту и за закрытой дверью - результата не будет. Мораль здесь такова, что говорить нужно то, что хотят услышать. И говорить это там, где нужно. Причем говорить твердо, открыто и через правду. Тогда поверят, тогда пойдут, тогда будут платить. #Лизинг#Leasing#Брокеридж#Brokerage#Маркетинг#Marketing

Crypto M - Crypto News

@CryptoM · Post #65257 · 12.04.2026 г., 11:28

🚀 STOCKS | Citic Securities Predicts A-Share Market Recovery Amid Improved Conditions On April 12, Jin10 reported that Citic Securities released a research note indicating a recovery trend in the A-share market this week. According to Jin10, this improvement is attributed to enhanced market risk appetite, liquidity, and fundamentals. Looking ahead, while the pace of growth may slow, the market is expected to continue its upward trajectory in the short term, with medium-term risks posed by sustained high oil prices. April is anticipated to see a return to fundamentals, with a focus on first-quarter reports and identifying promising industries. Industry allocation should center on sectors with high first-quarter prosperity, marginal fundamental improvements, and those benefiting from policy, low allocation levels, and seasonal demand. Key sectors to watch include resources (gold, energy metals, aluminum, minor metals), AI (optical communication, fiberglass, gas turbines), lithium batteries (battery and lithium materials), oil transportation, chemical raw materials, brokerage firms, coal, general equipment, infrastructure construction, and service consumption. #STOCKS#Ashare#MarketRecovery#CiticSecurities#Liquidity#RiskAppetite#Fundamentals#OilPrices#IndustryAllocation#Resources#Gold#EnergyMetals#Aluminum#MinorMetals#AI#OpticalCommunication#Fiberglass#GasTurbines#LithiumBatteries#BatteryMaterials#LithiumMaterials#OilTransportation#ChemicalRawMaterials#Brokerage#Coal#GeneralEquipment#InfrastructureConstruction#ServiceConsumption