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

Резултати

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

Пребарај: #citas

当前筛选 #citas清除筛选
꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8838 · 07.05.2026 г., 14:22

POCOS LO NOTAN… Se necesita mucha fuerza para ser una buena persona y aguantar a toda la gente difícil, la que hiere sin pensar, la que exige sin dar, la que proyecta sus vacíos en los demás; porque ser bueno no es ser débil, es elegir la calma cuando podrías explotar, es mantener la dignidad cuando todo invita a perderla, y eso, aunque pocos lo notan, requiere un coraje enorme. 💮 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8717 · 05.04.2026 г., 13:14

SOMOS LO QUE HACEMOS… Es esperable, incluso sano, que alguien planifique lo que desea para su futuro, que se esfuerce por lograrlo y emprenda el camino que conduce hacia sus proyectos. Pero hemos de entender que, a pesar de lo mucho que pongamos de nosotros mismos, siempre habrá una cuota de algo que no podamos manejar, una sorpresa que a veces tomará la forma de una injusticia y otras de un milagro. Dijo Sartre que somos lo que hacemos con lo que hicieron de nosotros; agregaría que somos también la manera en la que enfrentamos lo inesperado, esas circunstancias que a veces parecen condenarnos injustamente pero que otras, por suerte, abren las puertas de cielos que ni siquiera nos habíamos animado a soñar. #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8614 · 10.03.2026 г., 15:13

ROTA No me gusta esa palabra cuando se usa para referirse a una persona. Pensar que está rota es demasiado tajante, porque no todo lo roto puede arreglarse, prefiero decir que está incompleta, que ha perdido una parte. Una parte que, si no se encuentra, puede reemplazarse por otra que se ajuste incluso mucho mejor. 🧩 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8503 · 10.02.2026 г., 15:27

TE RECUERDO BREVEMENTE DONDE ESTAMOS Queda claro que hay cosas que nos convienen para vivir y otras no, pero no siempre está claro qué cosas son las que nos convienen. Aunque no podamos elegir lo que nos pasa, podemos en cambio elegir lo que hacer, frente a lo que nos pasa. 💗 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8409 · 18.01.2026 г., 14:51

TIEMPO DE CAMBIAR La vida te presenta las mismas lecciones una y otra vez, hasta que las aprendas. Si no te detienes a reflexionar y a crecer, te encontrarás viviendo la misma historia, con los mismos personajes y los mismos resultados. Pero, cuando te atreves a mirar dentro de ti y a hacer cambios, la vida te recompensa con nuevas experiencias y oportunidades. No te conformes con vivir en un bucle de repetición, rompe el ciclo y elige un nuevo camino. El cambio es el principio de una nueva historia. 👣 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8291 · 18.12.2025 г., 15:04

CADA QUIEN AMA COMO APRENDIÓ Hay hombres nobles y fieles, así como hay mujeres honestas y leales, pero también hay hombres dañinos y mujeres dañinas. Creer que todo un género funciona igual es desconocer algo básico: la personalidad no se forma sólo por el sexo con el que naciste, sino por tu historia, tus valores, tu crianza y tu conciencia. Lo que marca la diferencia no es si eres hombre o mujer, sino el nivel de madurez con el que decides amar y relacionarte. 💞 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8237 · 22.11.2025 г., 13:59

Y SIGUE FUNCIONANDO SIN PROBLEMAS Me niego a existir en la capa más efímera de las emociones, en esa que solo procura halagos y belleza exigua , porque no me aportan apenas nada. Yo me intereso en lo profundo, en lo íntimo, en aquello que se muestra inocente y vulnerable, y se rebela sin dudas, con intenciones de seguir creciendo y descubriéndose. Me niego a compartirme por pedazos. Soy un todo, uno que no precisa apenas nada, uno que es capaz de proseguir su camino incluso con algunas piezas perdidas y oxidadas, incluso con sus sombras... Y sigue funcionando sin problemas. 🧩 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8194 · 02.11.2025 г., 14:32

LOS ESPEJOS No los domésticos, estratégicamente dispuestos para que te digan siempre lo que quieres oir, sino los otros, los que no tienen dueño, los de los bares, los de los comercios, los de los vestíbulos de hotel, esos son los que te dicen la verdad: que no eres nada, nadie, en realidad, sólo uno más que pasaba por allí. 🪞 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8154 · 15.10.2025 г., 18:06

SEGUNDA VEZ En el acto ingenuo de tropezar dos veces con la misma piedra algunos perciben tozudez. Yo me limito a comprobar la persistencia de las piedras, el hecho insólito de que permanezcan en el mismo lugar después de haber herido a alguien. 🪨 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8113 · 26.09.2025 г., 14:10

RESPIRA HONDO No asumas que vendrá otro autobús, porque a veces la ruta cambia y ese que dejaste pasar no vuelve jamás. Las oportunidades no esperan a quien duda. Si la vida te pone una al frente, no cedas al miedo, respira hondo, levanta la cabeza, y súbete con todo. El verdadero riesgo no es fallar, es no intentarlo… 🍀 #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8066 · 07.09.2025 г., 13:14

NO, NO ME LO TOMO PERSONALMENTE Pienses lo que pienses, sientas lo que sientas, sé que se trata de tu problema y no del mío. Es tu manera de ver el mundo. No me lo tomo de un modo personal porque te refieres a ti mismo y no a mí. Los demás tienen sus propias opiniones según su sistema de creencias, de modo que nada de lo que piensen de mí estará realmente relacionado conmigo, sino con ellos. 🧘🏻‍♂️ #CITAS

Hashtags

꧁☬Pinceladas del Alma☬꧂

@pinceladasdelalma · Post #8018 · 21.08.2025 г., 17:49

YO MIENTRAS CAMINANDO… Siempre quise tener a la vida como aliada. Pero con el tiempo dejé de pedirle explicaciones, me di cuenta que no es amiga, ni enemiga, es maestra, ciclón, calma, bonita, salvaje, impredecible e indiferente. Entonces pacté con ella: Sígueme enseñando, yo mientras caminando. 🚶🏻‍♂️‍➡️ #CITAS

Hashtags

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