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

Резултати

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

Пребарај: #heritage

当前筛选 #heritage清除筛选
Андрей Лаупер

@free4ones · Post #218 · 09.03.2024 г., 12:50

Единственный оставшийся в Москве деревянный храм XIX века. Храм Преображения Господня в Богородском (Спасо-Преображенская церковь) — православный храм в районе Богородское города Москвы. Относится к Воскресенскому благочинию Московской епархии Русской православной церкви. #Богородское#heritage

Indian Development News 🇮🇳

@developmentnewsindia · Post #44209 · 29.04.2026 г., 19:24

U.S. returns 657 stolen artefacts to India in $14 million restitution. The pieces were recovered pursuant to several ongoing investigations into criminal trafficking networks, including those of alleged antiquities trafficker SUBHASH KAPOOR and convicted trafficker NANCY WIENER. The pieces were returned at a ceremony with Consul Rajlakshmi Kadam from the Consulate General of India in New York. “The scale of the trafficking networks that targeted cultural heritage in India is massive, as demonstrated by the return of more than 600 pieces today,” said District Attorney Bragg. #ForeignAffairs#Heritage https://manhattanda.org/d-a-bragg-announces-the-return-of-more-than-650-antiquities-to-the-people-of-india/

Indian Development News 🇮🇳

@developmentnewsindia · Post #43420 · 09.04.2026 г., 17:56

🏗️ CM Pushkar Singh Dhami approved ₹1,200 crore to accelerate infrastructure projects across the state. 🕉️ Around ₹282 crore will fund 28 projects to prepare for Kumbh Mela 2027. 🌉 Key initiatives include the Haridwar Ganga Corridor, Rishikesh Ganga Corridor, and Sharda Riverfront Corridor. 📍 Another ₹1,018 crore will be distributed among districts under the 2026–27 District Plan to support regional development. #Heritage#Infra

Щукина про ТЦ

@girlinmall · Post #1656 · 22.08.2024 г., 07:09

😀Покажи нам heritage В любом торговом центре повторения в коммуникациях с клиентами — неизбежны. Фасады и торговые залы, slow motion еды, анимированные афиши мероприятий показывают в соцсетях ну просто все. Любые темы уже попробовали и — да, это всё скучно, девочки. Как исследователь я всегда предлагаю копать глубже. Поговорим про эритаж (не путать с Эрмитажем). *Культурное наследие, уникальность, исторический бэкграунд, традициимастерства — все это называется термином heritage в маркетинге высокой и не очень моды. Тема всегда выходит на передний план в физическом ритейле и услугах, когда надо обосновать для клиента премиальную наценку или пояснить зачем ему «платить дороже». Проблема (да и, пожалуй, плюс) этого самого heritage, что он дан нам в ощущениях и потому клиенту следует пояснять и, по возможности, показывать, что имеется ввиду. ⭐️ Перехожу к примеру Так, например, ювелирное ателье repossi, которое разрабатывают коллекцию украшений для универмагов Lane Crawford, частями показывают креативный и производственный процесс. Чтоб было ясно и понятно, где скань, где зернь, где чернь, где золочение. И косвенно поясняют, что вещь авторская, креативно выстраданная и потому… дорогая Sokolov, по идее, тоже так может! Что им мешает показать руки мастеров из Красного, а не только то как Лола меняет старые сережки на новые через trade in 🤷‍♀️ ⁠ #рецепт_контента#heritage

⚡️Вчера были на пресс-показе выставки «Степени прозрачности. Vitalité fragile», которая является кураторским проектом Марины Ширcкой и первой выставкой нового фестиваля российского художественного стекла GlassGlow. В галерее Heritage искусство и дизайн заполнили все пространство. Завораживающие своей хрупкой красотой работы из стекла словно призывают прислушаться к вашим внутренним чувствам, обращая внимание на свою изменчивость и пластичность. Экспозиция создает обволакивающее, дышащее и даже укрощающее ощущение. Хрупкость человеческой природы и стекло переплетаются в единое целое, где каждый сантиметр работ - это мысли автора. В центре внимания произведения хэдлайнера проекта Марии Кошенковой, которая напротив бросает вызов традиционным представлениям о прекрасном, исследуя безобразное. Ее работы совмещают функциональность и образность. В завершении повествования еще хочется отметить коллаборацию Гусевского хрустального завода с современными художниками, которые также продемонстрировали необычайную трансформацию стекла. 🗓️ 11 декабря - 28 февраля ⛳️ ул. Петровка, 20/1, подъезд №2 #были_лично#галереялично #lichnogallery#heritage#выставка

Interesting Planet 🌍

@interesting_planet_facts · Post #858 · 04.10.2025 г., 18:11

🌎 Perched high in the Italian Alps, the village of Corippo holds the title of Switzerland’s smallest municipality. With fewer than 15 residents, its centuries-old stone houses cluster on steep slopes, connected by narrow cobblestone paths. The entire village was declared a Swiss heritage site in 1975. ✨ #settlements⚡#mountains⚡#heritage 👉subscribe Interesting Planet 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #336 · 05.10.2025 г., 18:31

🌍 The ancient terraces of the Canary Islands blend natural volcanic slopes with centuries-old farming. These landscapes are so unique they’re recognized globally as a heritage site. ✨ #heritage⚡#agriculture⚡#islands⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #557 · 05.01.2026 г., 12:31

🌍 The cultural landscape of Cappadocia, Turkey, features ancient cave homes and churches carved into soft volcanic rock. Wind and water sculpted the valleys, creating surreal "fairy chimney" towers. ✨ #heritage⚡#landscape⚡#geology⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #375 · 15.10.2025 г., 15:31

🌍 The Stone Forest of Shilin in China is a natural and cultural heritage site, where tall limestone pillars shaped by erosion have inspired centuries of local legends and traditional festivals. ✨ #heritage⚡#landscape⚡#geology⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #486 · 30.11.2025 г., 20:31

🌍 The rice terraces of Bali, Indonesia, are a living cultural landscape shaped by the ancient "subak" system—cooperative water management traditions that blend local religion, farming, and environmental care. ✨ #heritage⚡#agriculture⚡#landscape⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #254 · 17.09.2025 г., 16:12

🌍 The Rice Terraces of Yuanyang in China were carved into steep mountains over centuries. These living heritage sites are so vast they create their own microclimate and reflect the region's cultural history. ✨ #heritage⚡#landscapes⚡#agriculture⚡#geography⚡#nature⚡#earth 👉subscribe Amazing Geography🌍 ​

ПретходнаСтраница 1 од 4Следна