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

Резултати

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

Пребарај: #profil

当前筛选 #profil清除筛选
KNAUF Uzbekistan

@knaufuzbekistan · Post #403 · 31.03.2022 г., 04:00

​​👷‍♂️PSh 60x27 KNAUF shift profilining uzunligini qanday “uzaytirish” mumkin? Oddiy, lekin muhim aksessuar – KNAUF profillarini uzaytirgich yordamida.👌 U: ▫️Oʻrnatish ishlarini soddalashtiradi va tezlashtiradi; ▫️Profillar qoldiqlarini ulash imkonini beradi; ▫️Osma shiftlarning yaxlitligini mukammal darajada saqlaydi. Texnik xususiyatlari: Poʻlat qalinligi – 0,5 mm 100 donadan qadoqlangan. Ishonchli komplekt qismlardan foydalaning. KNAUFʼdan foydalaning - - - - - 👷‍♂️Как «нарастить» длину КНАУФ-профиля потолочного ПП 60х27? С помощью простого, но важного аксессуара, удлинителя профилей КНАУФ.👌 Он: ▫️Упрощает и ускоряет монтажные работы; ▫️Позволяет соединять остатки профилей; ▫️Отлично сохраняет целостность подвесных потолков. Технические характеристики: Толщина стали 0,5 мм Упакован по 100 шт. Используйте надежные комплектующие. Используйте КНАУФ YouTube | Instagram | Facebook | #knaufuzbekistan#profil

KNAUF Uzbekistan

@knaufuzbekistan · Post #179 · 10.12.2020 г., 10:05

​​👷‍♂️Birovning shifti biron joyga qulab tushdi degan voqeani eshitib asabiylashasizmi? Tinch uxlash uchun qanday qurilish materiallaridan foydalanishni bilasizmi? 😊Agar bilsangiz – barakalla. Bilmasangiz, biz sizga yordam beramiz. ☝️KNAUF- PROFIL SHIFT 60x27 osma shiftlarning sinchlarini shakllantirish uchun hamda KNAUF yuzali qoplamalari uchun qo‘llaniladi. Bizning maxsulotlarimiz ana shunday unifikasiyalashgan 👌 Po‘lat qalinligi 0,6 mm bo‘lib, u konstruksiyani mustahkam qiladi hamda burama mixlarning profilda ushlanib qolishini ta'minlaydi. ❓“0,4 mmli profilga nima qilibdi, u arzonroqku, ko‘rinishi ham odatdagiday?” – deb so‘rashingiz mumkin. ““Yupqa” profildan yig’ilgan, mahkamlagichlari qimirlab yotgan sinch, hayotingiz uchun haqiqiy xafv tug‘diradi” – deb javob beramiz. 👉KNAUF-PROFILLAR Texnik Shartlar talablariga muvofiq bo’lib, rux bilan qoplangani tufayli zangdan himoyalangan va aniq geometrik shaklga ega. Uni ishlatsangiz, kuchshiz sinch haqida va KNAUF-qoplamalarining ulanish joylaridagi yoriqlar haqida unutasiz. Sifatli maxsulotalarni ishlating. KNAUF maxsulotalarini ishlating. ❗️Narxi: KNAUF-Profil shift 3000x60x27x06mm – 8 717 so‘m/p.m. Brutto-narxi QQS bilan ko‘rsatilgan. 2020 yil 31 dekabrgacha amal qiladi. - - - - - 👷‍♂️А Вы начинаете нервничать, услышав очередную историю о том, что у кого-то где-то обрушился потолок? Вы знаете, какой материал использовать, чтобы спать спокойно? 😊Если знаете – молодцы. Если нет, мы подскажем. ☝️КНАУФ-ПРОФИЛЬ ПОТОЛОЧНЫЙ 60х27 применяется для формирования каркаса подвесных потолков. И для облицовок КНАУФ. Вот такие вот у нас унифицированные продукты👌 Толщина стали в 0,6 мм, влияет на прочность конструкции, а так же обеспечивает надёжное удержание шурупа в профиле. ❓«А что не так с профилем 0,4 мм, и дешевле, и на вид такой же?» – спросите вы. Мы ответим: «Хлипкий каркас с болтающимися крепежами,собранный из «тонких» профилей, создаёт реальную угрозу вашей жизни». 👉КНАУФ-ПРОФИЛИ соответствуют ТУ, защищены от коррозии благодаря цинковому покрытию, имеют четкую геометрию. Используя его, вы забудете, как о «еле дышащем» каркасе, так и трещинах на стыках КНАУФ-листов. Используйте качественные материалы. Используйте КНАУФ. ❗️Цена: КНАУФ-Профиль потолочный 3000х60х27х06мм 8 717сум/п.м. Указана брутто-цена с учётом НДС. Действительна до 31.12.2020 г. Сайт|Facebook|Instagram #knaufuzbekistan#profil

KNAUF Uzbekistan

@knaufuzbekistan · Post #152 · 23.10.2020 г., 03:00

👷‍♂️KNAUF profillarini uzaytirgich bu - o'rnatish ishlarini ham tezlashtiradigan, ham soddalashtiradigan betakror aksessuar. ☝️Qolib ketgan profillarni ulash va ishlatilish uchun qo'llashga imkon beradi. 👌KNAUF PSh 60x27 profillarini ulashda osma shiftlar sinchlarining yaxlitligini saqlaydi. Texnik xususiyatlari: Po'lat qalinligi 0,5 mm 100 donadan qadoqlangan. ❗️Shiftlaringizning ishonchli ekanligiga amin bo'ling, to'g'ri jamlovchi mahsulotlardan foydalaning. KNAUF-dan foydalaning. - - - - - 👷‍♂️Удлинитель профилей КНАУФ является незаменимым аксессуаром ускоряющим и упрощающим монтажные работы в разы. ☝️Позволяет применять остатки профилей для их соединения и использования. 👌Сохраняет в целостности каркасы подвесных потолков при соединении КНАУФ-профилей ПП 60х27. Технические характеристики: Толщина стали 0,5 мм Упакован по 100 шт. ❗️Будьте уверены в надежности своих потолков, используйте правильные комплектующие. Используйте КНАУФ. Сайт|Facebook|Instagram #knaufuzbekistan#profil

KNAUF Uzbekistan

@knaufuzbekistan · Post #430 · 19.07.2022 г., 05:00

​​​​👷‍♀️Foydalanish paytida KNAUF pardevorlarining burchaklari va qirralarini himoya qilish uchun KNAUF burchakni himoyalovchi profilidan foydalaning. Aralashmani (suvoq) konstruksiyaning burchagiga surtish profilning sirtga mahkam yopishishini taʼminlaydi.👌 Texnik xususiyatlari BH 35/35 kesimi: 35x35 mm; uzunligi: 3000 mm; Sifatli materiallardan foydalaning. KNAUFʼdan foydalaning. - - - - - 👷‍♀️Чтобы защитить проёмы и торцы КНАУФ-перегородок во время эксплуатации используйте КНАУФ-профиль углозащитный. Нанесение раствора (штукатурка) на угол конструкции обеспечивает прочное сцепление профиля с поверхностью.👌 Технические характеристики Сечение ПУ 35/35: 35x35 мм; длина: 3000 мм #knaufuzbekistan#profil#rotband

KNAUF Uzbekistan

@knaufuzbekistan · Post #237 · 15.04.2021 г., 03:00

Baquvvatmi? Siz avvalgi postni koʻrdingizmi?🧐 👉Agar oʻtkazib yuborgan boʻlsangiz 💪Sergey Monarch - - - - - Мощно? Вы же видели предыдущий пост?🧐 👉Если пропустили 💪Сергей Монарх Сайт|Facebook|Instagram #knaufuzbekistan#profil#комплектныесистемы

KNAUF Uzbekistan

@knaufuzbekistan · Post #293 · 08.08.2021 г., 10:00

💪Har qanday tushunarsiz vaziyatda KNAUF-profildan foydalaning - - - - 💪В любой непонятной ситуации - бери КНАУФ-профиль LITTOS👍 Web-sayt | Facebook| Instagram #knaufuzbekistan#profil#KnaufQK21

KNAUF Uzbekistan

@knaufuzbekistan · Post #842 · 29.11.2024 г., 05:00

​​Mansarda imoratlari – bu shunchaki boloxona emas, balki shinam xonadir. Uni nima bilan qoplash mumkin? KNAUF-Sapfir – maqbul yechim! Nega? Batafsil: https://knauf.uz/qr/UWJFScWz - - - - - Мансардное помещение – это не просто чердак, а уютная жилая комната. Но чем же ее обшить? Идеальным решением станет КНАУФ-Сапфир! Почему? Подробнее: https://knauf.uz/qr/UWJFScWz YouTube Instagram Telegram #knaufuzbekistan #sapfir #profil

KNAUF Uzbekistan

@knaufuzbekistan · Post #686 · 29.04.2024 г., 05:00

​​Mansarda imoratlari – bu shunchaki boloxona emas, balki shinam xonadir. Uni nima bilan qoplash mumkin? KNAUF-Sapfir – maqbul yechim! Nega? Batafsil: https://knauf.uz/qr/UWJFScWz - - - - - Мансардное помещение – это не просто чердак, а уютная жилая комната. Но чем же ее обшить? Идеальным решением станет КНАУФ-Сапфир! Почему? Подробнее: https://knauf.uz/qr/UWJFScWz YouTube Instagram Telegram #knaufuzbekistan #sapfir #profil

123•••67
ПретходнаСтраница 1 од 7Следна