Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Самая высокая молитва — благодарственная.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
Покаянию как добродетели прежде всего можно научиться, избегая осуждения ближнего.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
Покаяние есть начало самосовершенствования человека.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
Искреннее покаяние даёт душе свет.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
Самая главная радость у нас — Бог, Божия Мамочка. Но ещё радость — это мы друг для друга.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
Главная победа — остаться с Богом и с совестью чистой.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
Зло сиюминутно, временно. Дары же Божьей благодати, дары Господни — постоянны, вечны и настолько глубинны, что никто не может их поколебать.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
Покаяние — великая сила. Оно является отцом всех добродетелей.
Митрополит Святогорский Арсений
#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#ЦитатыМитрополитаАрсения#МитрополитАрсений#цитата_дня#цитатадня#мудрыемысли
Смотреть проповеди митрополита Арсения на Youtube 🎬https://www.youtube.com/playlist?list=PL6JZVtO9RWcVpEC6zWkDVNxRQRk7oQpZo
МИТРОПОЛИТУ АРСЕНИЮ ПРОВЕЛИ ОПЕРАЦИЮ НА СЕРДЦЕ
18 марта 2026 г., в день обретения мощей святителя Луки Крымского, в одной из киевских клиник наместнику Святогорской Лавры митрополиту Арсению была сделана операция на сердце.
Читать новость на сайте 🌏https://svlavra.church.ua/ru/?p=65138
После того, как 25 февраля владыка был освобождён из СИЗО, он проходил необходимые обследования и подготовку к операции в связи с серьёзными проблемами сердечно-сосудистой системы.
Операция длилась несколько часов и, по милости Божией, завершилась благополучно. По словам медиков, почти 2-летнее пребывание владыки Арсения в СИЗО сильно ухудшило его состояние. Ещё немного — и начались бы необратимые последствия, так что операция уже бы не помогла. Впереди реабилитационный период.
В этот день братия Лавры и сестры лаврских скитов отслужили соборный молебен о благополучном исходе операции.
Благодарим Бога за Его милость к наместнику Лавры. Также благодарим всех, кто молитвенно сопереживает владыке. Просим и в дальнейшем не оставлять его в своих молитвах.
#УПЦ#Церковь#Украина#UOC#Ukraine#Orthodoxy#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#православие#МитрополитАрсений
ИЗ СКИТА СВЯТОГОРСКОЙ ЛАВРЫ ВЫКРАЛИ КОЛОКОЛА И ЦЕРКОВНУЮ УТВАРЬ
В ночь с 24 на 25 января 2026 г. неизвестные обокрали скит Святогорской Лавры в честь иконы Божией Матери «Всех скорбящих Радость» в с. Богородичное.
Пришедший утром 25 января сторож обнаружил ворота открытыми (цепи, на которых висел замок, были перекушены кусачками), двери в нижний и верхний приделы храма выломанными.
Читать новость на сайте 🌏https://svlavra.church.ua/ru/?p=64816
У церкви остались следы от колёс грузового автомобиля и множество человеческих следов, что свидетельствует об участии в краже группы лиц.
Со звонницы исчезли 8 из 10-ти колоколов. Преступники сбросили со звонницы кованную решётку. У центрального, самого большого, колокола (весом 1,3 тонны) оторвали язык, второй по величине колокол (600 кг) сбросили на пол. Остальные, меньшие, колокола спустили вниз по лестнице и вынесли через храм, перед этим оторвав языки и оставив их лежать на полу звонницы.
Из основной части нижнего придела храма неизвестные вынесли четыре подсвечника. Дерзнули преступники войти и в алтарь. Кощунственные руки забрали с престола напрестольное и требное Евангелия, напрестольные лампады и подсвечники. Также из алтаря были унесены семисвечник, стоявшее на жертвеннике распятие и латунный алтарный аналой.
Оставшиеся в алтаре церковные предметы были преступниками разбросаны, лампады разбиты.
Также злоумышленники вскрыли церковную кружку.
Прибывшая лаврская братия подала заявление в отделение полиции № 4 РУП ГУНП в Донецкой области.
#УПЦ#Церковь#Украина#UOC#Ukraine#Orthodoxy#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#Богородичное#кража#преступление
МУЖЕСТВО, НЕ ЗНАЮЩЕЕ ГРАНИЦ
В чём особенность настоящей любви? Можно ли через знания прийти к вере?
Об этом рассказал наместник Свято-Успенской Святогорской Лавры митрополит Святогорский Арсений в день памяти святой великомученицы Варвары, 17 декабря 2020 г. Напомнив житие укрепляемой Богом великомученицы, он также привёл случай, как по молитвам святой Варвары ангел помог человеку лучше подготовиться к последней исповеди.
Видео на Youtube 🎬https://youtu.be/t5zYb6lv_d0
#Лавра#Lavra#святогорскаялавра#svyatogorsk_lavra#Святогорск#Святогірськ#Svyatogorsk#Слово#речь#проповедь#престольныйпраздник#митрополитАрсений
УКРАДЕННОЕ ИМУЩЕСТВО СКИТА СВЯТОГОРСКОЙ ЛАВРЫ ВЕРНУЛОСЬ В ОБИТЕЛЬ
Радостная весть пришла в Святогорскую Лавру: церковное имущество скита в честь иконы Божией Матери «Всех скорбящих Радость», дерзко похищенное в ночь на 25 января, было найдено и возвращено обители.
Читать новость на сайте 🌏https://svlavra.church.ua/ru/?p=64852
События этих дней развивались стремительно. Рано утром 25 января охранник скита, обнаружив вскрытые двери и следы преступления, немедленно сообщил о случившемся братии Лавры и вызвал правоохранительные органы. На место происшествия, чтобы зафиксировать масштаб кощунственного акта, сразу же прибыли представители власти: начальник Святогорской городской военной администрации Владимир Рыбалкин и старший участковый офицер полиции города Святогорска Руслан Цимбал.
Благодаря оперативным следственным действиям уже 27 января сотрудники полиции обнаружили тайник непосредственно в селе Богородичное. В лесном массиве неподалёку от храма был найден прицеп, скрытый под маскировочными сетками, в котором находились украденные колокола и церковная утварь. На следующий день, 28 января, полиция известила лаврскую братию об обнаружении святынь.
Особым торжеством стал день 30 января. Утром в Успенском соборе Святогорской Лавры по окончании Божественной литургии был соборно отслужен благодарственный молебен. За богослужением песнопения исполняли сестры скита в честь иконы Божией Матери «Всех скорбящих Радость». Стоит отметить, что матушки с 2022 г. вынуждены проживать в Лавре, так как в самом селе Богородичное из-за последствий военных действий до сих пор отсутствуют условия для жизни: нет жилья, воды, электричества и связи. Для сестёр возвращение колоколов и утвари их родного храма стало особым духовным утешением и свидетельством милости Божией.
После завершения всех необходимых процессуальных действий в тот же день, 30 января, имущество скита было передано обители.
Братия Святогорской Лавры и сестры скита выражают искреннюю благодарность за оперативную работу и добросовестное выполнение профессиональных обязанностей в. и. о. начальника отделения полиции № 4 Краматорского РУП ГУ НП в Донецкой области полковнику полиции Дмитрию Кирдяпкину, а также всем сотрудникам уголовного розыска и следствия. Благодаря их профессионализму осквернённые святыни были спасены и возвращены верующим.
Дорогие братья и сестры, благодарим всех за молитвы!
#УПЦ#Церковь#Украина#UOC#Ukraine#Orthodoxy#Лавра#Lavra#СвятыеГоры#СвятогорскаяЛавра#Святогорск#Sviatohirsk_Lavra#Svyatogorsk_Lavra#Богородичное#кража#преступление