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

Резултати

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

Пребарај: #hospitality

当前筛选 #hospitality清除筛选
MICE_Kitchen

@mice_kitchen · Post #617 · 28.05.2022 г., 12:03

🏆Объявлены победители премии Russian Hospitality Awards 2021 в 23 номинациях. Поздравляем: ЛУЧШИЙ HEALTH ОТЕЛЬ - Medical Spa Hotel Rosa Springs Sochi ЛУЧШИЙ СПОРТ ОТЕЛЬ - Igora Hotel Leningrad region ЛУЧШИЙ МИНИ-ОТЕЛЬ - Tochka na karte Vidlitsa ЛУЧШИЙ СЕМЕЙНЫЙ ОТЕЛЬ - PORTO MARE Alushta ЛУЧШИЙ КУРОРТНЫЙ ОТЕЛЬ - Swissotel Resort Sochi Kamelia ЛУЧШИЙ SPA-ОТЕЛЬ - Radisson Collection Paradise resort & SPA, Sochi ОТКРЫТИЕ ГОДА - Seehof boutique hotel Ruza Moscow region ЛУЧШИЙ SMART ОТЕЛЬ - Kol Gali Resort & SPA ЛУЧШИЙ СВАДЕБНЫЙ ОТЕЛЬ - Lotte Hotel Samara ЛУЧШИЙ ЗАГОРОДНЫЙ ОТЕЛЬ - Dobrograd Vladimir region ЛУЧШИЙ ДИЗАЙН ОТЕЛЬ - Hotel Indigo St. Petersburg-Tchaikovskogo ЛУЧШИЙ LUXURY ОТЕЛЬ – Four Seasons Hotel Moscow ЛУЧШИЙ MICE ОТЕЛЬ - Crowne Plaza Moscow - World Trade Centre ЛУЧШИЙ БИЗНЕС-ОТЕЛЬ 5* - Radisson Blu Hotel, Rostov-on-Don ЛУЧШИЙ БИЗНЕС-ОТЕЛЬ 4* - Hilton Garden Inn Orenburg ЛУЧШИЙ ОТЕЛЬ 3* - Hampton by Hilton Krasnodar ЛУЧШИЙ АПАРТ-ОТЕЛЬ - Diamond Apartments Moscow ЛУЧШИЙ ХОСТЕЛ SCOTCHHOSTEL - Volgograd ЛУЧШИЙ РЕСТОРАН В ОТЕЛЕ - Park Hotel Winter's Dacha Sortavala ЛУЧШИЙ ЗАВТРАК В ОТЕЛЕ - Radisson Collection Hotel, Moscow ЛУЧШИЙ БАР В ОТЕЛЕ - Pokrovsky Hotel ЛУЧШАЯ ПРОГРАММА КСО - Adagio Moscow Paveletskaya ГЕНЕРАЛЬНЫЙ МЕНЕДЖЕР ГОДА - Stanislav Kondov (Radisson Collection Hotel, Moscow) 🏆🏆🏆 #russianhospitalityawards2021#лучшийотель#hospitality#лучшиеотели

ancient history of oromoo

@etbisahusen · Post #2119 · 25.09.2025 г., 17:45

Buna Qalaa: More Than Just Coffee ☕️ Did you know the Oromo homeland is the birthplace of Arabica coffee? For the Oromo people, coffee (Buna) is not just a drink; it's a sacred ceremony that binds families and communities. The Buna Qalaa is a cherished ritual of hospitality and respect. The air fills with the sweet aroma of roasting beans, incense (ittana), and lively conversation. It's a slow, beautiful process where every step is deliberate and full of meaning. To be invited to a coffee ceremony is to be welcomed into the heart of an Oromo home. It’s a moment to share stories, blessings, and build connections. It is a true taste of Oromo hospitality! #Buna#CoffeeCeremony#OromoCulture#Hospitality#Community#Ethiopia#Africa http://T.me/etbisahusen

Отель «Пекин», 📍Москва

@hotelpekingmoscow · Post #85 · 26.02.2022 г., 01:23

Как известно, сегодня в России деятельность гостиниц регламентируется “Правилами предоставления гостиничных услуг”, которые разрабатываются и утверждаются правительством. Интересный факт, что данный свод правил существовал еще в древней Руси. Носил он название “скра” и его по праву можно считать прародителем современного документа. Разработан он был изначально для гостиных дворов и регламентировал практически все: правила оплаты, противопожарной безопасности и даже поведения за столом. Делитесь в комментариях, о чем ещё хотели бы узнать? #secretsofbusiness#tipsandhints#секретыгостеприимства#гостеприимство#историягостеприимства#гостиницапекин#отельпекин#pekinghotelmoscow#hotelpekingmoscow #пекинотель#hospitality#historyofhospitality

Отель «Пекин», 📍Москва

@hotelpekingmoscow · Post #180 · 26.02.2022 г., 06:43

Хороший сон - основа всего, поэтому мы #pekinghotelteam уделяем особое внимание качеству постельного белья. В номерах мы используем постельное белье из сатина. В переводе с французского “сатин” означает атлас. Крученая хлопковая нить хорошо отражает свет, напоминая тем самым шелк. На таком белье приятно спать - оно отлично пропускает воздух, не вызывает раздражение кожи, прекрасно сохраняет тепло и подходит детям. #secretsofbusiness#tipsandhints#hospitality#гостеприимство#pekinghotelmoscow#hotelpekingmoscow#hotelpeking#hotelpekin#pekinhotelmoscow#hotelpekinmoscow#гостиницапекин#отельпекин#отельпекинмосква#гостиницапекинмосква