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

Резултати

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

Пребарај: #easter

当前筛选 #easter清除筛选

🧺 🧁 🧁 🥚 🥚 🥚 🥚 🥚 🥚 🐰 🥕 🐇 🐰 🐇 🐰 🐰 🥚 🥚 🐥 🏵 💮 🪴 🌺 🪴 🥚 🥚 🥚 🚩 🚩 🚩 🚩🥮🙏 🤩🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏 🤩 🤩 🤩 🤩 🤩 🤩🥚 🤩 🤩🥚🥚🥚🥚 пасха | add#easter please boost 👼

Hashtags

Quick and easy way to color your eggs for #Easter: Wrap plant parts of your choice around an egg with a nylon sock very tightly, so that the plant is pressed against the shell. Place the eggs into warm water with loads of onion peels. Boil it for twelve minutes and let everything cool down. Remove the sock with the plant and rub speck all over the egg to make it look shiny. Happy Easter to all of you! @EuropeanTribalism

Hashtags

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4534 · 17.04.2025 г., 16:00

An online video demonstrating how to dye Easter eggs with red wine has become viral. The only thing: keep the wine in the pot, not in yourself! 🔻Here's how: ⚡️Pour any red wine into a pot with red eggs. ⚡️Bring to a boil and simmer for 10 minutes. ⚡️Then cool and put the pot with the eggs and wine into the fridge (not freezer!) for the night. ⚡️In the morning, place them on paper towels to dry. ⚡️The result is matte, shimmering Easter eggs with an unusual color. 🐣Happy Easter to all! #holidays #Easter 😎RCRussian | Support | Boost

TONlines – News

@tonlines · Post #6814 · 17.04.2025 г., 13:05

JetTon Games: Final Stage of Easter Treasure Hunt Tournament #JetTon#EASTER JetTon Games announces the final stage of the Easter Treasure Hunt Tournament with a total prize pool of €250,000. Participants can compete in various games like Hot Triple Sevens and The Greatest Catch Bonus Buy with a minimum bet of 0.2 EUR. This is the last opportunity to secure a position in the winners ranking. Source: link @tonlines

Learn RCRussian🤍💙❤️

@learnrcrussian · Post #4547 · 19.04.2025 г., 14:00

🙏🙏🙏Some Russian Easter mood for you: • Красить яйца (imperf.) [kra-sit' yay-tsa] To colour/dye eggs ❓А вы красите яйца на Пасху? Video: AIvikki_topneuro #AI #holidays #Easter 😎RCRussian | Support | Boost

Андрей Лаупер

@free4ones · Post #935 · 20.04.2025 г., 09:07

Как все изменилось за несколько сотен лет... Когда-то последователи скрывались в темных катакомбах, а сегодня сторонников учения бесчисленное множество — христианство прошло огромный путь, став одной из главных духовных сил мира. #пасха#easter

Tkong Channel

@tkong_channel · Post #121 · 19.04.2025 г., 12:38

🐰 Happy Easter from Tkong! 💐 Wishing you a peaceful and joyful spring. 🐰 Tkong 祝你復活節快樂! 💐 願這個春天帶來平安與喜悅。 #Easter#Tkong

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