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

Резултати

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

Пребарај: #atmosphere

当前筛选 #atmosphere清除筛选
Рогатый Ворон 🌙

@kate_vigdis_art · Post #1182 · 23.03.2026 г., 14:17

🔊💃🏼🇰🇷 Все должны знать, что в субботу мы с сестрицей в клуб на концерт ходили стариной трясти. Отец жёг, russian ladies делали some noise. Хорошо.☺️ #BewhY#atmosphere

Universe Mysteries 🪐

@cosmomyst · Post #17 · 29.07.2025 г., 21:00

🪐 In 2016, astronomers using the Hubble Space Telescope observed the exoplanet WASP-121b, where temperatures in its stratosphere soar above 2,500°C and molecules such as water vapor exist as glowing, superheated gas. The planet’s intense gravity causes it to stretch into a teardrop shape, while metals like iron and magnesium escape its atmosphere, streaming into space in a shimmering trail. ✨ #exoplanets⚡#atmosphere⚡#extremes 👉subscribe Universe Mysteries

Interesting Planet 🌍

@interesting_planet_facts · Post #808 · 24.09.2025 г., 18:11

🌎 Earth’s Schumann resonances are a set of naturally occurring, low-frequency electromagnetic waves circling the globe between the ground and the ionosphere. These “global hums” are mainly generated by lightning and pulse mostly at 7.83 Hz, serving as a natural radio background measured by scientists worldwide. ✨ #space⚡#sound⚡#atmosphere 👉subscribe Interesting Planet 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #524 · 19.12.2025 г., 20:31

🌍 Earth's atmosphere extends far beyond clouds, but 99% of its mass is within just 32 kilometers of the surface—a thin layer compared to the planet's size, yet essential for life. ✨ #earth⚡#planet⚡#atmosphere⚡#geography⚡#nature 👉subscribe Amazing Geography 👉more Channels ​

Amazing Geography 🌍

@amazingeo · Post #148 · 31.08.2025 г., 03:12

🌍 Earth’s atmosphere is a fragile shell just 100 kilometers thick—less than 2% of the planet’s radius. This thin layer protects all life from harmful space radiation and extreme temperatures. ✨ #earth⚡#atmosphere⚡#planet⚡#geography⚡#nature 👉subscribe Amazing Geography🌍 ​

Interesting Planet 🌍

@interesting_planet_facts · Post #1304 · 19.02.2026 г., 22:11

🌎 Strange hexagonal cloud patterns appear at Saturn’s north pole, baffling scientists since first being spotted by the Voyager spacecraft in 1981. This six-sided jet stream is over 29,000 kilometers wide and behaves differently from any weather phenomenon on Earth. ✨ #Saturn⚡#atmosphere⚡#mystery 👉subscribe Interesting Planet 👉more Channels ​

Interesting Planet 🌍

@interesting_planet_facts · Post #1233 · 18.01.2026 г., 12:11

🌎 Lightning sprites are massive, red flashes that erupt high above thunderstorms, reaching up to 90 kilometers above Earth. They last just milliseconds and were first photographed in 1989. ✨ #lightning⚡#atmosphere⚡#weather 👉subscribe Interesting Planet 👉more Channels ​

Interesting Planet 🌍

@interesting_planet_facts · Post #675 · 02.09.2025 г., 16:22

🌎 In the sky over northern Norway, rare “polar stratospheric clouds” shine with vivid colors at twilight. These icy clouds form high above the Arctic, scattering sunlight into dazzling pastel waves—a fleeting phenomenon that can transform winter skies into a surreal rainbow spectacle. ✨ #atmosphere⚡#arctic⚡#phenomena 👉subscribe Interesting Planet ​

Interesting Planet 🌍

@interesting_planet_facts · Post #909 · 14.10.2025 г., 20:11

🌎 Ice cores drilled from Antarctica and Greenland are frozen time capsules, preserving thousands of years of air bubbles, pollen, and tiny particles. By analyzing these layers, scientists reconstruct past temperatures, volcanic eruptions, and atmospheric changes stretching back over 800,000 years. ✨ #icecores⚡#paleoclimate⚡#atmosphere 👉subscribe Interesting Planet 👉more Channels ​

Interesting Planet 🌍

@interesting_planet_facts · Post #508 · 06.08.2025 г., 03:22

🌎 Rainforests “breathe” with the planet—during the day, trees absorb carbon dioxide for photosynthesis, but at night, they release it back as they respire. This daily gas exchange is vital for Earth’s atmosphere and climate balance. ✨ #rainforest⚡#atmosphere⚡#photosynthesis 👉subscribe Interesting Planet

Universe Mysteries 🪐

@cosmomyst · Post #145 · 17.08.2025 г., 03:11

🪐 The exoplanet Kepler-13Ab is one of the most extreme worlds ever found, with temperatures on its dayside that can reach over 2,700°C—hot enough to melt most metals. This "hot Jupiter," a giant planet orbiting much closer to its star than Mercury does to the Sun, experiences titanium oxide snow on its nightside, creating a stark and exotic contrast between blazing and frozen conditions in a single alien atmosphere. ✨ #exoplanets⚡#extremes⚡#atmosphere⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries

Universe Mysteries 🪐

@cosmomyst · Post #30 · 30.07.2025 г., 03:51

🪐 The peculiar exoplanet GJ 1214b, orbiting a red dwarf 48 light-years away in the constellation Ophiuchus, is shrouded in a thick, steamy atmosphere dominated by water vapor. Observations suggest that this "mini-Neptune" may possess a vast, deep ocean beneath its clouds, making it a striking example of a possible water-world beyond our solar system. ✨ #exoplanet⚡#waterworld⚡#atmosphere 👉subscribe Universe Mysteries

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