@bricolaje_ferreteria · Post #28 · 18.06.2022 г., 18:39
Curiosos trucos de bricolaje con madera... #bricolaje#madera#carpinteria
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
Пребарај: #bricolaje
@bricolaje_ferreteria · Post #28 · 18.06.2022 г., 18:39
Curiosos trucos de bricolaje con madera... #bricolaje#madera#carpinteria
Hashtags
@bricolaje_ferreteria · Post #85 · 14.02.2024 г., 19:24
Curioso armario con puerta 'transformer'... #ideas#bricolaje#carpinteria
Hashtags
@ChollazoExpres · Post #5992 · 07.02.2026 г., 11:26
📺 ¡Sábado de equiparse por muy poco! Hoy tenemos una selección perfecta para el fin de semana. Si buscas una tele para la cocina o la habitación, la Xiaomi de 32" por 139€ es imbatible. Para los ciclistas, el lubricante WD-40 está a mitad de precio, y para la cocina, básicos de calidad como BRA y Arcos tirados de precio. 🚲🍳 👇 Selección del día: 📺 XIAOMI 32 Pulgadas HD Smart TV por 139€ (-22% 🔥) amzn.to/4az1Y4S 🚲 WD-40 Lubricante Cadena Bicicleta por 6,9€ (-50% 🔥) amzn.to/4tnKdwM 🧥 Amazon Sudadera con Forro Polar por 14,7€ (-36% 🔥) amzn.to/4qpLEbA 🧦 6 Pares Calcetines Térmicos por 7,6€ (-49% 🔥) amzn.to/4kwVerF 🍳 BRA Daily Pro Sartén 18 cm por 10,9€ (-35% 🔥) amzn.to/3O8D1ED 🔪 Arcos Cuchillo Chuletero por 2,9€ (-40% 🔥) amzn.to/4aBQFc4 #Xiaomi#Bricolaje#Cocina#OfertasAmazon#Ahorro
@ChollazoExpres · Post #5712 · 11.01.2026 г., 08:00
💥Maletín de Herramientas DEKO 126 Piezas Haz frente al invierno con las herramientas adecuadas ✅OFERTA: 49.99€ ❌ Antes: 69.99€ 💰Ahorras un 29%🔥 Todo lo que necesitas para bricolaje en casa, oficinas y jardín 👉 Equípate para la temporada #rebajas#herramientas#bricolaje#cajaherramientas#ofertas#descuentos#viral#invierno 🛰️Oferta publicada en Coche y Moto
@ChollazoExpres · Post #5655 · 09.01.2026 г., 11:00
💥Kit de Costura de Niños WSNDM Diviértete aprendiendo a coser tus propios animales ✅OFERTA: 8.99€ ❌ Antes: 13.99€ 💰Ahorras un 36%🔥 Fomenta la creatividad y habilidades manuales de los más pequeños 👉 Descubre la diversión de la costura infantil #manualidades#costura#bricolaje#aprenderacoser#fieltro#ninos#educativo#rebajas 🛰️Oferta publicada en Cultura y Ocio
@biaceramicafria · Post #3983 · 17.03.2023 г., 00:14
‼️🛩🛍🛍🅱️🔠🅰️🤩🆒🛍‼️ ⊱✿⊰─━━━━━━⊱✿⊰━━━━━━─⊱✿⊰ I M P O R T A C I O N E S 🔵🔤🔤🔤 🔵 ⊱✿⊰─━━━━━━⊱✿⊰━━━━━━─⊱✿⊰ Todos nuestros servicios en un solo lugar Use este ⬇️enlace ⬇️ para unirse ➡️Importaciones BiA ⬅️ ✈️ Importamos artículos desde tiendas online 🏷️ +20% del artículo +10 USD por cada libra 🚚 Entregas en 30 días a todas las provincias ✅ Artículos agrupados en categorías ✅ Búsqueda mejorada con etiquetas ✅ Accesibilidad mejorada a la info ✅ Notificaciones con ofertas ✏️ ✏️ ✏️ ✏️ ✏️ ✏️ ✏️ ✏️ ✏️ 📦Amazon.com 🛒Aliexpress.com 🛒eBay.com 🛒Fashionnova.com 🛍️Forever21.com 🛍HM.com 🔤Victoriassecret.com 🔤Shein.com 🔤Zara.com 😔😔😔 Contactar directamente con 💬@jcslimcuba 💬@biacoldporcelain ‼️🛩🛍🛍🅱️🔠🅰️🤩🆒🛍‼️ #ropa#zapatos#mujer#hombre#niños#electronica#computadoras#consolas#audio#video#fotografia#cosmeticos#hogar#electrodomesticos#moviles#accesorios#herramientas#bricolaje#joyas#bisuteria#oficina#manualidades#importacion