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

Резултати

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

Пребарај: #nationalsecurity

当前筛选 #nationalsecurity清除筛选
Indian Development News 🇮🇳

@developmentnewsindia · Post #44467 · 05.05.2026 г., 19:06

A sudden scooty explosion was reported near the headquarters of the Border Security Force (BSF) in Punjab's Jalandhar district. The high-security location of the blast has added urgency to an already serious situation. Police investigating all angles. Fortunately no one was hurt. #nationalsecurity

Indian Development News 🇮🇳

@developmentnewsindia · Post #44466 · 05.05.2026 г., 19:00

3 accused have been charged in Ahmedabad in ISIS-linked Jihadi bioterrorism conspiracy to carry out mass poisoning in public spaces. Hyderabad-based doctor Syed Ahmed Mohiuddin, and co-accused Azad & Suhel from U.P, have been charged under UA (P) Act, BNS and Arms Act. #nationalsecurity

Indian Development News 🇮🇳

@developmentnewsindia · Post #44429 · 05.05.2026 г., 05:44

Recent imagery from Pakistan shows reconstruction work at the "terror-linked" targets India struck in May 2025, previously damaged structures are being restored, demolitions & debris continue to be removed nearly a year after the strike. #nationalsecurity https://www.indiatoday.in/world/story/jaish-rebuilds-bahawalpur-base-muzaffarabad-after-operation-sindoor-satellite-images-show-2906805-2026-05-05

Indian Development News 🇮🇳

@developmentnewsindia · Post #44155 · 28.04.2026 г., 08:25

NIA teams are spread across various districts, including South 24 Parganas, Hooghly, Nadia, and Kolkata ahead of polling. Teams are probing the cases of recovery of crude bombs, illegal arms and ammunitions. Teams are also on ground to immediately respond if a situation arises during, after or before polling #NationalSecurity

Indian Development News 🇮🇳

@developmentnewsindia · Post #44145 · 28.04.2026 г., 06:26

On 18th and 19th April, the Enforcement Directorate conducted raids at several locations linked to a Christian evangelical organisation named The Timothy Initiative, TTI. In a press release, the ED said that it is investigating how TTI channelled over Rs 95 crore into India using foreign banks issued debit cards (Truist Bank, 🇺🇸) while completely skipping FCRA regulations. TTI funneled money using these cards to build churches(and maybe more) in naxal affected districts of Chattisgarh. #nationalsecurity https://x.com/i/status/2047643801460805854

Indian Development News 🇮🇳

@developmentnewsindia · Post #44090 · 26.04.2026 г., 17:36

In a significant development, the Union Ministry of Home Affairs (MHA) has handed over a case related to the recovery of crude bombs in West Bengal to the National Investigation Agency (NIA), citing serious national security concerns and the need to probe a larger conspiracy. #NationalSecurity

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