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

Резултати

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

Пребарај: #plantillas

当前筛选 #plantillas清除筛选
🌷Haditas Estudiosas📋

@apuntes_digitales · Post #4069 · 18.12.2022 г., 19:08

░⃟────────────────────░⃟ - plantillas de horarios 💀 El próximo año comenzará el curso escolar para algunos y para otros como yo , será un reinicio después de las vacaciones de invierno . Por eso les dejo algunos con temáticas bonitas , inspiradas en la serie de Wednesday, estilo soft con personajes Sanrio y el último tiene un estilo minimalista que encaja perfectamente con cualquier planeación. Espero que los usen y en el primer comentario estaré subiendo la plantilla en PDF :) Atte. Pecas05 - grupo de chat: @apuntesdigitaleschat 📃: @Apuntes_Digitales╏#plantillas ░⃟────────────────────░⃟

Hashtags

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #3954 · 18.11.2022 г., 04:13

░⃟─────────────░⃟ Hola ! Hace un tiempo prometí hacer plantillas de planners coreanos y lo prometido es deuda . ¿ Te interesa aprender cómo usarlos ? 👛 visita este post: https://t.me/Apuntes_Digitales/3555 🌸 link de descarga a drive: imprimible PDF plantilla en pptx (no tocar sino sabes) #plantillas#recursos PD: si te unes a nuestro chat eres el primero en recibir las plantillas 👀 Síguenos [@apuntes_digitales] Recuerda Dejar Tu Reacción 💌 ░⃟─────────────░⃟

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5850 · 08.11.2023 г., 18:07

🦦plantilla de un cuaderno de lectura o reading journal ✦ gracias a N.lok por su petición ✦ descarga en telegram o gdrive 🕰 | tags:#plantillas#journaling :¨ ·.· ¨: pedidos a 🎞⊹ ৎ୭ `· . ♡ @haditaestudiosabot ૮ ˶ᵔ ᵕ ᵔ˶ ა

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #4003 · 23.11.2022 г., 19:47

░⃟──────────────────────░⃟ - portadas 📓 !! Hola , gente ! Aquí les dejo las portadas que habían ganado la encuesta y tres extras que simulan ser un cuaderno . También les cuento que el grupo de chat vuelve a ser totalmente público , PERO , active la admisión de miembros. Los únicos requisitos para ser aprobadas las solicitudes es estar en el canal y tener un @ (alias) . Espero que les gusten mucho las portadas y las usen ! Comenten su favorita , la mía fue la de psiquiatría y filosofía jsksks . Atte. Pecas05 🗃 Links (solo debes presionar encima del nombre) : - descargar portadas (pdf) - descargar plantillas editables (pptx) no tocar sino sabe - grupo de chat:@apuntesdigitaleschat 📃: @Apuntes_Digitales╏#preview ; #plantillas ░⃟──────────────────────░⃟

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #4013 · 25.11.2022 г., 19:49

░⃟────────────────────░⃟ - tutorial de cómo usar nuestras plantillas en Samsung Notes !! Pienso hacerla una serie de posts probando las plantillas en diferentes aplicaciones y tal . Espero que les guste esta primera parte y si veo que la apoyan mucho pues ya saldrá la segunda pronto . Recuerden tomar agua ! - grupo de chat: @apuntesdigitaleschat 📃: @Apuntes_Digitales╏#tutoriales ; #plantillas ░⃟────────────────────░⃟

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #4516 · 02.04.2023 г., 23:56

ayer en nuestro grupo de chat @apuntesdigitaleschat charlamos acerca de algunos impedimentos a la hora de hacer apuntes bonitos en físico. Bueno, para aquellos que quieran iniciar a hacer lettering les dejo estas #plantillas imprimibles <3 en el primer comentario. #aef

🌷Haditas Estudiosas📋

@apuntes_digitales · Post #5693 · 17.10.2023 г., 01:36

˖ 📕 ୨୧ tarjetas de felicitaciones ⃟💌 ⓘ˚₊ disponibles en pdf y jpg🫶🏻◞* googledrive: https://drive.google.com/drive/u/2/folders/1rOMt4Ay8a9xHZfiqCIlqiK8FTCg9_3MT telegram: https://t.me/apuntesdigitaleschat/15369 #plantillas#recursos#tarjetas Pd: pedido de una suscriptora, si quieres hacer el tuyo puedes escribir a @haditaestudiosabot :¨ ·.· ¨: 𝖼𝗋𝖾𝖽ⲓ𝗍𝗌 𝗍𝗈 🎧💋⊹ ৎ୭ `· . ♡ @apuntes_digitales ૮ ˶ᵔ ᵕ ᵔ˶ ა