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

Резултати

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

Пребарај: #3dprint

当前筛选 #3dprint清除筛选

Ағзаларды принтерде басып шығаруға болады ма? Жауап берді Егор Плахотнюк, «ССК РФ ТРИНИТЕТ» АҚ жетекші инженері. ——— Можно ли напечатать органы на принтере? Отвечает Егор Плахотнюк, ведущий инженер АО «ГНЦ РФ ТРИНИТИ». @rosatom_ca#технология#3dprint#технологии

New Delft Blue is a pioneering architectural project located in Delft, Netherlands, designed and 3D-printed by Studio RAP. This project reinterprets the iconic decorative qualities and design vocabulary of Delft Blue porcelain, integrating traditional elements with modern technological advancements. By combining 3D clay printing, computational design, and artisanal glazing, the project explores new possibilities for ceramic ornamentation in contemporary architecture. 📸Riccardo de Vecchi #3dprint#3dprintedarchitecture#3dprinting#ceramic#arch_shovel

В свете событий.

@vsvetesobytij · Post #15262 · 14.03.2026 г., 18:15

🇺🇸🔩🔩🔩 3Д Банка 3 в 1 MFMD — это уникальная система, сочетающая дульный тормоз, пламегаситель и глушитель в одном дизайне, и это, без сомнения, одна из самых упоротых систем, которые доводилось видеть. 👀 На его фоне пистолет Aliens не казать чтобы шибко и Инопланетный 😎 В обЧем будем посмотреть за успехами. 📱YouTube #rifle#silencer#3dprint#дтк#пламягаситель#глушитель#банка

Telegram 公眾索引頻道

@TG_index_channel · Post #1139 · 25.03.2020 г., 13:44

標題:台灣 創客 3DP與雷切//討論完全初學者 業餘的//不歡迎廣告洗版 類別:#公開#群組#繁中 分類:#興趣#臺灣#科技#社群#學術 標籤:#雷射切割#3D列印#創客#3DP#3Dprint#自造#DIY#maker 簡介:業餘討論專區 正體中文 中國簡體勿入 主題: 3DP 雷切 不管是不懂還是超懂都歡迎 勿發廣告 色情 騷擾 玩機器指令 洗版 洗廣告 或是讓管理員不爽 違者管理員BAN