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 слични објави

Пребарај: #armesilla

当前筛选 #armesilla清除筛选
Soberanistas

@Soberanistas_ES · Post #526 · 12.12.2025 г., 13:24

HOY #viernes 12/12/2025 estaré en la @universidade_usc en #SantiagoDeCompostela, participando en una conferencia sobre la #UniónEuropea, organizada por @JDemocraticaES en la Facultad de Derecho. A partir de las 17:00. A la 16:30 galleguistas izquierdistas exaltados nos quieren impedir la charla. Venid a vernos que será muy interesante, y apoyadnos ♥️ Les esperamos 💪 #Europa#Armesilla

Soberanistas

@Soberanistas_ES · Post #681 · 05.01.2026 г., 20:15

¿Por qué EEUU quiere el petróleo venezolano? Para que China no se lo quede y para que Venezuela no comercie su petróleo en yuanes. Trump teme la desdolarización del mundo, y más aún de su patio trasero. Nicolás Maduro ha sido capturado por la DEA de Estados Unidos para sacar a China de Venezuela. Ni democracia, ni derechos humanos. Geopolítica. #armesilla#nicolasmaduro#venezuela#donaldtrump#petroleo#china#geopolitica

Soberanistas

@Soberanistas_ES · Post #685 · 07.01.2026 г., 07:06

El 3 de enero de 2026 el #hispanismo político ha muerto de manera irreversible. Toca denunciar a aquellos que enarbolan la bandera de la Cruz de Borgoña mientras tapan con ella la de #EEUU. Mi artículo en @La_Iberofonia #DonaldTrump#Venezuela#NicolasMaduro#Iberofonia#armesilla Enlace: https://laiberofonia.com/la-irreversible-muerte-del-hispanismo-politico/

Soberanistas

@Soberanistas_ES · Post #591 · 23.12.2025 г., 10:29

#Vox intentó controlar #Revuelta pero estos no se han dejado, por ahora. Lo que empezó como una trifulca por dinero y poder puede desembocar en una escisión política e ideológica que, si desde @vox_es no la logran reconducir, podría llevar a @revuelta_es a convertirse en una alternativa política seria con importante presencia en la calle. ¿Estás de acuerdo? Te leo en comentarios. #armesilla#politica#actualidad#españa

Soberanistas

@Soberanistas_ES · Post #660 · 02.01.2026 г., 12:43

Año 2026: Más de 1 millón de personas en España vive en la Calle. No hay vida más dura que esta. Incluso muchos indigentes tienen trabajo pero no tienen un hogar. Imagina lo que supone dormir en un cajero, debajo de un puente, en un banco o protegido por mantas y cartones, y llevar todo lo que tienes en mochilas o carros. Algunos han desarrollado enfermedades mentales debido a esta vida tan dura, o ya las padecían y se han agravado debido a ello. Mientras tú vuelves a tu casa de una fiesta de Nochevieja, o te levantas bajo un techo rodeado de tu familia, o incluso en soledad, piensa en lo afortunado que eres por no padecer la que es, sin duda, la forma de vida más difícil que existe. #armesilla#pobreza#indigencia#España#politica#actualidad

Soberanistas

@Soberanistas_ES · Post #695 · 09.01.2026 г., 21:36

Hay un tipo de inmigración de la que nadie habla y que también contribuye a la elevación del precio de la vivienda en España, así como de los alquileres: la inmigración que llega del centro y norte de Europea. Mientras algunos se centran en los que tienen la piel oscura, nadie se fija en cómo los rubios de ojos azules de Alemania, Países Bajos, Inglaterra, Francia, etc., se están haciendo con viviendas para sí y sus clanes, al tiempo que lo hacen de la mano de fondos de inversión en vivienda de EEUU, Reino Unido, pero también China, Qatar, Arabia Saudí y Emiratos Árabes Unidos, que son los que les facilitan el acceso. Para que luego nos llamen racistas, no se trata de racismo. Se trata de sobreexceso de demanda y muy poca oferta porque no se construye. Estamos preparando un vídeo largo sobre el problema de la vivienda, en que se verá que es un problema multicausal. #Atentos👀#armesilla#inmigracion#vivienda#españa#especulacioninmobiliaria#europa#racismo#politica#actualidad