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 слични објави

Пребарај: #behindthescenes

当前筛选 #behindthescenes清除筛选
movies & series 🍿

@images · Post #1531 · 24.05.2024 г., 17:50

🍿 The Magic Behind 'John Wick 4': Action Without Limits#BehindTheScenes Keanu Reeves took his commitment to the max for 'John Wick 4', undergoing 12 weeks of intense training to perform unprecedented action scenes. 🚗🔫 A standout sequence features him driving a car without doors or a windshield through the Arc de Triomphe, all while shooting! Cinematographer Dan Laustsen chose vibrant colors and ARRI Large Format cameras to capture the essence of locations like Osaka and Paris. Chad Stahelski, the genius behind 'John Wick', meticulously coordinated each fight, ensuring realism and spectacle. Each scene is a visual masterpiece that elevates action cinema to new heights. 🎬💥 📹 Don't miss the behind-the-scenes video here. You'll be amazed at how this action marvel was made! > #𝘴𝘦𝘳𝘪𝘦𝘴 · 🚀𝘣𝘰𝘰𝘴𝘵

DeckForge Announcement

@deckforge_official · Post #244 · 08.05.2025 г., 13:29

From the Forge #01 — Early sketches of our central crafting system Hey! We’ve been diving deep into early sketches for one of the key elements in DeckForge — the Forge. This is the place where something important is being created... but we won’t spoil the details just yet.. Right now: 🔵We're testing visual concepts for the core mechanism 🔵Exploring how materials, energy and crafting logic come together 🔵Prototyping tools like hammers, crystals, and tech-infused devices This is just the start — most of what you see is raw and mid-process. But that’s exactly what makes it fun — sharing how it really looks behind the scenes. #DeckForge#BehindTheScenes Join the DeckForge Community: 🌐YouTube𝕏Twitter🎮Discord 👉Chat👉Announcements

DeckForge Announcement

@deckforge_official · Post #329 · 25.08.2025 г., 14:20

From the Forge #14: 🔨 | Premium Shop Incoming Forgers, our team is working on one of the most important features — the in-game Premium Shop This is where your progress, dedication & $BOOMS holdings will really start to shine. Based on your activity and tokens, you’ll unlock exclusive Founder Tiers of rewards — packs that will never be available again once the official release. What does this mean for you? 🔵You’ll be able to claim your Founder Packs & open them once the full release is live 🔵We’re still very early, which means your progress and feedback are critical for shaping the future of DeckForge Big updates are coming. September will be full of surprises, new features & major announcements. Stay tuned — the best is yet to come. ➡️ Don’t forget: claim your rewards in Discord and secure your special roles. They’ll be more valuable than you think… Stay Forged. #DeckForge#ClosedBeta#BehindTheScenes Join the DeckForge Community: 🌐YouTube𝕏Twitter🎮Discord 👉Chat👉Announcements👉DeckForge

Видеотека 📼

@videotekashow · Post #13389 · 14.05.2025 г., 05:56

«Говорят, из моего «Назад в будущее» мог бы получиться неплохой мюзикл. Не хочу убедиться в этом при жизни». Сегодня исполнилось 73 года Роберту Земекису. #ВИДЕОТЕКА #RobertZemeckis #BehindTheScenes

Как это снято

@fidller_com · Post #700 · 04.06.2021 г., 05:21

Йост Вакано, ASC, держит свой собственный ARRI IIC на борту подводной лодки во время съемок душераздирающей драмы Второй мировой войны Das Boot (1981) . Рядом с ним первый AC Питер Майвальд, держащий дистанционное управление. «Гламур и очевидная техническая гладкость не имели места в фильме», - написал Вакано в «American Cinematographer». «Камера должна была подчиняться тем же ограничениям, что и актеры. Требование чрезвычайной мобильности в узких пределах лодки не позволяло даже использовать стедикам. Это должна быть ручная камера! » #newsfidllercom#новости#засценой#bts#behindthescenes Фильм называется "Подводная лодка", рейтинг кинопоиска 8.1 бюджет 14 млн долларов, сборы в США 11 млн. долларов

Видеотека 📼

@videotekashow · Post #15389 · 22.01.2026 г., 06:23

«Понятие независимости — относительное. Вас нельзя назвать независимым, если вы не снимаете кино за свой собственный счет, чего в здравом уме никто не делает». Сегодня Джиму Джармушу исполнилось 73 года. #ВИДЕОТЕКА #JimJarmusch #ДжимДжармуш #BehindTheScenes

Видеотека 📼

@videotekashow · Post #13637 · 09.06.2025 г., 16:39

📷🎬🎸 Майкл Джей Фокс репетирует знаменитую сцену на съемках фильма «Назад в будущее». Сегодня нашему любимому актеру исполнилось 64 года. #ВИДЕОТЕКА #MichaelJFox #BackToTheFuture #BehindTheScenes

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