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

Резултати

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

Пребарај: #mattarella

当前筛选 #mattarella清除筛选
Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #52199 · 16.03.2026 г., 19:09

Carcere, il presidente #Mattarella: "Vi sono tanti problemi, il primo dei quali è la piaga dei suicidi che non si attenua: ciascuno di questi casi è una sconfitta dello Stato a cui sono affidate le vite dei detenuti" (ANSA) @UltimoraPolitics24

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51967 · 18.02.2026 г., 09:39

Il presidente Sergio #Mattarella osserva che il Consiglio superiore della Magistratura non è esente, nel suo funzionamento, da difetti, lacune ed errori e che nei suoi confronti non sono precluse critiche; analoghe criticità e possibili critiche si registrano, sottolinea, anche nell'attività delle istituzioni legislative, esecutive e giudiziarie. @UltimoraPolitics24

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51966 · 18.02.2026 г., 09:39

Il presidente Sergio #Mattarella, intervenendo al plenum del Csm, ha sottolineato: "il ruolo di rilievo costituzionale del Csm" e ha evidenziato: "la necessità e l'intendimento di ribadire il rispetto che occorre nutrire e manifestare particolarmente da parte di altre istituzioni nei confronti di questa istituzione". @UltimoraPolitics24

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51655 · 13.01.2026 г., 06:51

Ieri il Presidente della Repubblica Sergio #Mattarella ha chiamato la madre di Alberto Trentini per dirle che, dopo aver condiviso la sofferenza e l'attesa sua e di suo marito, condividiamo tutti la loro felicità. (Ansa) @UltimoraPolitics24

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51567 · 01.01.2026 г., 20:34

Il Presidente #Mattarella a Papa Leone XIV: "L'Italia - che per il suo stesso ordinamento costituzionale ripudia la guerra - resta fermamente impegnata a offrire il suo contributo per la composizione dei conflitti in corso" e "preservare un ordine internazionale basato sul diritto. La legge della ragione e della giustizia, non quella del più forte, torni a essere regola delle relazioni internazionali" (Ansa)

Hashtags

Ultimora.net - POLITICS 24

@Ultimorapolitics24 · Post #51510 · 22.12.2025 г., 19:09

Il Presidente #Mattarella ha graziato 5 persone: - Hamad Abdelkarim, ex calciatore condannato a 30 anni per concorso in omicidio plurimo e reati di immigrazione legati a un naufragio del 2015, ottiene una grazia parziale in ragione della giovane età all’epoca dei fatti, del percorso di recupero in carcere e del contesto drammatico in cui il reato è maturato. - Bardhyl Zeneli, condannato a un anno e sei mesi per evasione dai domiciliari, beneficia della grazia totale perché magistrato di sorveglianza e procuratore generale ritengono che il suo allontanamento dall’abitazione non integri in realtà il reato di evasione. - Franco Cioni, condannato per l’omicidio volontario della moglie malata terminale, vede estinta la pena residua (oltre cinque anni) in considerazione dell’età, delle condizioni di salute, del perdono della famiglia e della situazione particolare in cui avvenne il fatto. - Alessandro Ciappei, condannato a dieci mesi per una truffa commessa nel 2014, ottiene la grazia sulla pena residua grazie alla modesta gravità concreta del fatto, alla sua occasionalità, al tempo trascorso e alla nuova vita lavorativa all’estero. - Gabriele Spezzuti, condannato per reati di droga del 2005, ha già scontato la reclusione e riceve la grazia sulla multa residua di 80 mila euro, vista l’assenza di nuovi reati e le difficili condizioni economiche. @UltimoraPolitics24

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #45896 · 13.03.2026 г., 12:36

Il Presidente della Repubblica Sergio #Mattarella ha presieduto oggi al Quirinale il Consiglio supremo di difesa che ha analizzato la crisi avviata dall'azione militare di Stati Uniti e Israele contro l'Iran, esprimendo grave preoccupazione per gli effetti…

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #45869 · 18.02.2026 г., 09:41

Il presidente della Repubblica Sergio #Mattarella invita il Csm a restare "rigorosamente istituzionale ed estraneo a temi e controversie di natura politica" e rinnova l'esortazione al rispetto vicendevole: "in qualsiasi momento, in qualsiasi circostanza, nell'interesse della repubblica". @UltimoraPolitics

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #45868 · 18.02.2026 г., 09:38

Il presidente della Repubblica Sergio #Mattarella, parlando al plenum del Csm, afferma: "Come presidente della repubblica avverto la necessità di rinnovare con fermezza l'esortazione al rispetto vicendevole in qualsiasi momento, in qualsiasi circostanza nell'interesse della repubblica." @UltimoraPolitics

Hashtags

123•••10•••2021
ПретходнаСтраница 1 од 21Следна