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

Резултати

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

Пребарај: #aquarium

当前筛选 #aquarium清除筛选
LES Art Resort

@lesresort · Post #2762 · 19.11.2024 г., 13:07

Н🙂LA, Друзья! Рады поделиться хорошими новостями – мы приступаем к обновлению SPA-комплекса AQUARIUM. Летом 2025г вы вновь сможете насладиться любимыми SPA-процедурами🙌🏻 Мы ценим ваше мнение, а ваш комфорт и качественный отдых – всегда наш главный приоритет. Поэтому будем рады, если вы поделитесь, что вам в первую очередь нравилось в SPA-комплексе AQUARIUM и что бы вы обязательно хотели видеть в его обновленной инфраструктуре💫 Делитесь своим мнением в комментариях под этим постом👇🏻 Спасибо, что выбираете нас ❤️‍🔥 #lesartresort#lesresort#семейныйотдых#отдыхсдетьми#SPA#aquarium

LES Art Resort

@lesresort · Post #2312 · 20.06.2024 г., 07:08

H🙂LA друзья! Вырваться за город, на несколько дней забыть о рабочей рутине, перезагрузиться в SPA, поплавать во всесезонных бассейнах – звучит, как мечта, не так ли?😍 Мечта, которая может исполниться в два счета даже несмотря на самую пасмурную погоду, если запланировать летний уикенд в LES Art Resort☀️ Акция «Длинные выходные» – последняя возможность сделать это в июне и существенно сэкономить 😏 При бронировании номера на 3 ночи с четверга по воскресенье предоставляется скидка 30% от стоимости проживания с четверга по пятницу. Скидка суммируется со скидками за раннее бронирование и способ оплаты и начисляется при бронировании на сайте lesresort.ru или по телефону +7 (495)–201–05–04. Ждём вас с нетерпением ❤️ #lesartresort#lesresort#семейныйотдых#отдыхсдетьми#laguna#aquarium#бассейн

LES Art Resort

@lesresort · Post #1851 · 01.02.2024 г., 08:50

H🙂LA, Друзья! Еще один вариант идеального начала дня – сеанс плаванья в наших всесезонных открытых бассейнах❤️ Бассейны оснащены системой подогрева, которая поддерживает комфортную температуру воды круглый год ✨ Начинайте утро правильно и с удовольствием – зарядитесь энергией, бодростью и хорошим настроением на весь день 😍 #lesartresort#lesresort#семейныйотдых#отдыхсдетьми#laguna#aquarium#бассейн

LES Art Resort

@lesresort · Post #3156 · 20.03.2025 г., 06:43

H🙂LA друзья! Аквааэробика, водный волейбол и просто плавание для удовольствия – мы знаем, как вы любите наши бассейны и любим их вместе с вами😏 В наших SPA-комплексах есть как закрыты бассейн, так и открытый, оснащенный системой подогрева, где даже в холодное время года вы и маленькие Друзья можете наслаждаться купанием ✨ Ждём вас с нетерпением ❤️ #lesartresort#lesresort#семейныйотдых#отдыхсдетьми#holaclusive#laguna#aquarium#бассейн

LES Art Resort

@lesresort · Post #2725 · 08.11.2024 г., 08:42

H🙂LA друзья! Вы уже знаете, что лето в LES Art Resort не заканчивается круглый год, а в открытых всесезонных бассейнах LAGUNA и AQUARIUM можно плавать даже когда на улице настоящие морозы ❄️ Бассейны оснащенные системой подогрева, а значит, даже в холодное время года вы и маленькие Друзья можете наслаждаться купанием ✨ Ждём вас с нетерпением ❤️ #lesartresort#lesresort#семейныйотдых#отдыхсдетьми#holaclusive#laguna#aquarium#бассейн

LES Art Resort

@lesresort · Post #1372 · 22.08.2023 г., 10:00

H🙂LA, Друзья! Восхитительный коктейль, розовый фламинго и несколько часов релакса во всезезонном бассейне AQUARIUM – такому отдыху позавидовала бы даже Барби 💅🏼💋 #lesartresort#lesresort#семейныйотдых#отдыхсдетьми#всевключено#allinclusive#holaclusive#AQUARIUM#открытыйбассейн

Но не только ресторанами знаменит Атлантис (просто я люблю поесть😁). Внутри находится самый знамений аквариум в Дубаи - The Lost Chambers Aquarium и у постояльцев в него безлимитный доступ)) Честно скажу, что я не фанат аквариумов и зоопарков, и раньше прям очень негативно высказывалась в их адрес. Но! Данный аквариум меня очень впечатлил и немного пошатнул мою категоричность. Во-первых, тут у морских обитателей рождается потомство, что уже говорит о том, что им там не так уж и плохо. Плюс некоторых новорожденных отпускают на волю (естественно предварительно подготовив), тем самым увеличивая их популяцию в природе. Во-вторых, тут потрясающе ухаживают за морскими животными - все чисто, животных лечат (тут есть больница для рыб😌), тут работает целая команда профессиональных ветеринаров и ученых. Аквариум аккредитован всякими международными ассоциациями и имеет сертификаты AZA and WAZA (если интересно, то можно погуглить). В третьих, тут проводят экскурсии внутрь аквариума (больше для детей), чтобы рассказать им (и показать) побольше про морских обитателей и уже с детства привлекать детей к ответственному отношению к животным и их изучению (вот уж действительно «разговоры о важном), кто знает, возможно, кого-то это вдохновит стать ветеринаром или ученым🪼 #ОАЭ#UAE#Dubai#Дубаи#Atlantis#Aquarium

LES Art Resort

@lesresort · Post #1435 · 13.09.2023 г., 07:30

H🙂LA, Друзья! Плавать в море можно не только летом, но и осенью: в LES Art Resort есть собственный бассейн с морской водой Aquarium, в открытой части которого круглый год поддерживается оптимальная температура для комфортного купания✨ Если не любите контрастные процедуры, то добро пожаловать в закрытую часть Aquarium, внутри которой также находится SPA-зона для полной релаксации! #lesartresort#lesresort#семейныйотдых#отдыхсдетьми#всевключено#allinclusive#holaclusive#бассейнсморскойводой#aquarium

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