@inPDF · Post #7269 · 22.02.2026 г., 12:00
#Wanderlust🇬🇧 UK February-March 2026 #geo ⤵️@inPDF📬
Hashtags
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
Пребарај: #wanderlust
@inPDF · Post #7269 · 22.02.2026 г., 12:00
#Wanderlust🇬🇧 UK February-March 2026 #geo ⤵️@inPDF📬
Hashtags
@inPDF · Post #6860 · 02.11.2025 г., 16:12
#Wanderlust🇬🇧 UK October-November 2025 #geo ⤵️@inPDF📬
Hashtags
@inPDF · Post #6767 · 28.09.2025 г., 17:32
#Wanderlust🇬🇧 UK August-September 2025 #geo ⤵️@inPDF📬
Hashtags
@inPDF · Post #6551 · 01.03.2025 г., 20:14
#Wanderlust🇬🇧 UK February-March 2025 #geo ⤵️@inPDF📬
Hashtags
@inpdf · Post #7594 · 22.04.2026 г., 14:41
#Wanderlust🇬🇧 UK April-May 2026 #geo ⤵️@inPDF📬
Hashtags
@inpdf · Post #6226 · 06.11.2024 г., 16:57
#Wanderlust🇬🇧 UK October-November 2024 #geo ⤵️@inPDF📬
Hashtags
@inpdf · Post #5905 · 28.10.2023 г., 19:23
#Wanderlust🇬🇧 UK October-November 2023 #geo ⤵️@inPDF📬
Hashtags
@inpdf · Post #5729 · 31.08.2023 г., 17:04
#Wanderlust🇬🇧 UK August-September 2023 #geo ⤵️@inPDF📬
Hashtags
@internationalgeographic · Post #5600 · 14.04.2025 г., 03:56
📍 Nighttime in Singapore 🇸🇬 View of the Marina Bay Sands hotel 🌆 Singapore is an island nation in Southeast Asia. Founded as a British trading colony in 1819, after gaining independence it became one of the most prosperous countries, with the world's leading trading port. A fascinating fact: Singapore is the world's only island city-state! 🏙️🌴 #travel#wanderlust#cityscape
Hashtags
@veonadtech · Post #254 · 11.07.2025 г., 10:30
Ловим момент, когда мозг говорит: «Пора в отпуск!» Мечты рождаются между делом: 🫴 Оплатил связь → увидел билеты по цене кофе 👍 Оформил страховку → получил оффер на SPA-уикенд 🛫 Проверил баланс → открыл подборку тревел-хаков Почему это не реклама, а магия: ✨ Алгоритм ловит момент, когда мозг готов к побегу ✈️ Предложения встраиваются в рутину, как свои мысли 📈 Конверсия в 4 раза выше стандартных баннеров P.S. Это как если бы Booking.com читал мысли — только точнее и без cookie. 💻 Знаем, как продавать отдых до того, как его захотят — протестируем? #VEONAds#BehavioralTargeting#DigitalMarketing#Wanderlust#TravelTech#SmartAds 👋👋Всё о digital-рекламе в Узбекистане: аналитика, лайфхаки и готовые решения.
@amazingworldtravel · Post #677 · 10.04.2026 г., 03:58
🇲🇬Avenue of the Baobabs, Madagascar Ancient baobab trees, some over 800 years old and 30 meters tall, line this red-dirt road in western Madagascar like sentinels from a primordial world. These Grandidier's baobabs are among the most endangered trees on Earth — the last survivors of a once-dense tropical forest cleared over centuries, leaving these ancient giants standing alone in open farmland. At sunset, their massive silhouettes glow against a sky of liquid fire, bare branches reaching upward like roots — which is why Malagasy legend says the gods planted baobabs upside down. Ox-carts pass between trees that were already ancient when Genghis Khan rode across Asia, creating one of Africa's most hauntingly beautiful landscapes. Drop a 🔥 if this is on your list! #travel#wanderlust#explore#bucketlist#travelgram#adventure 📸@amazingworldtravel
@amazingworldtravel · Post #675 · 09.04.2026 г., 03:45
🇺🇸Antelope Canyon, United States Sculpted by flash floods over millions of years, this narrow slot canyon in Navajo Nation reveals flowing sandstone walls in waves of orange, red, purple, and gold. When midday sunlight beams pierce the narrow openings above, shafts of light illuminate the swirling rock in an ever-changing display that has made Antelope Canyon one of the most photographed wonders in the American Southwest. Upper Antelope Canyon — 'the place where water runs through rocks' in Navajo — is a smooth, undulating corridor at ground level, while Lower Antelope Canyon descends via narrow ladders into deeper chambers. Both were formed by monsoon floods that carry sand polishing the Navajo sandstone into these impossibly smooth, flowing forms. Drop a 🔥 if this is on your list! #travel#wanderlust#explore#bucketlist#travelgram#adventure 📸@amazingworldtravel