@wallcrafts_m · Post #152 · 13.04.2024 г., 08:51
#solarsystem
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
Пребарај: #solarsystem
@wallcrafts_m · Post #152 · 13.04.2024 г., 08:51
#solarsystem
Hashtags
@interesting_planet_facts · Post #765 · 17.09.2025 г., 03:22
🌎 Venus spins so slowly that a single day—from one sunrise to the next—lasts about 117 Earth days. Its dense clouds trap heat, making Venus the hottest planet, with average surface temperatures around 465°C. ✨ #planets⚡#astronomy⚡#solarsystem 👉subscribe Interesting Planet
Hashtags
@interesting_planet_facts · Post #638 · 27.08.2025 г., 13:22
🌎 Mercury has days hotter than a pizza oven, reaching 430°C, but at night, it plunges to -180°C—greater temperature swings than any other planet. ✨ #planets⚡#astronomy⚡#solarSystem 👉subscribe Interesting Planet
Hashtags
@cosmomyst · Post #665 · 07.02.2026 г., 12:21
🪐 If you could line up all the planets in our solar system—Mercury through Neptune—they would stretch about 4.5 billion kilometers from end to end, but that's just a tiny sliver compared to the distance from our Sun to the next nearest star, Proxima Centauri, which is over 40 trillion kilometers away. These mind-boggling numbers reveal how even our "local neighborhood" in the galaxy is filled with vast, nearly empty stretches far greater than anything we experience on Earth. ✨ #spacedistances⚡#solarsystem⚡#trillions⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries 👉more Channels
@Wallpaper_INT · Post #46467 · 25.05.2025 г., 18:30
#Planets#Spcae#Orbit#SolarSystem#8K @Wallpaper_INT
@kiras_gock · Post #4108 · 29.03.2026 г., 18:04
🪐 These are my planetary buns! Each one inspired by a planet in our solar system with their own traits and personalities 🐰✨ I was a pretty big science nerd as a kid, and my walls always had some kind of star chart or space poster of sorts. I liked the idea of formatting this in the same way 🪐 #ikaink#bunnyart#smallartist#cuteartstyle#solarsystem
@energomenejer · Post #973 · 14.04.2024 г., 15:01
Қуёш электр станцияси 6кВт. Инвертор- 6кВА, hibrid. Қуёш панели-6кВт. Аккумулятор- Life Po 4. 14,4кВт*соат. Тоғ худудига автоном элеутр станция. Бемалол бориб аристонларни ишлатиб кун бўйи кундузи панелдан 5-6квт*соат энергия олиб кечга мазза қилиб аккумулятор фойдаланиш мумкин. #solarpanels#solar#solarsystem#life#lifepo4#invertor#hibrid#автаномка#солнечнаяэнергия#узбекистан🇺🇿#ангрен#ташкент🇺🇿 https://www.instagram.com/reel/C5vvSGjKMS0/?igsh=MXI1YW4zeTBiNWpidQ==