Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
В понедельник стартовали очередной проект внедрения LOGAREON WMS в солнечном Владимире.
Чуть больше 1,5 часов от Москвы, и вы попадаете в город с тысячелетней непростой историей. История гласит, что первые люди появились тут 34 тысячи лет назад, но вот «самая технологичная WMS в мире» дошла сюда только в начале этой недели:)
Что ж, пожелаем проектной команде успехов на пути к технологическому и логистическому совершенству.
#wms#logareon#perfection
👥 Завершаем знакомство со спикерами и темами их выступлений на предстоящей конференции «Логистика 360: тренды, опыт лидеров, решения» в Санкт-Петербурге.
Конференция состоится 2 июля в отеле KOSTAS ⬇️
👤 Директор по продажам LOGAREON Евгений Рудковский представит LOGAREON WMS — инновационное, технологичное и универсальное решение. Евгений расскажет на примерах реализованных проектов о том, сложное сделать простым, а дорогое – доступным.
👤Андрей Зайцев, генеральный директор фармацевтического оператора «Интер-С», поделится опытом, когда возникает необходимость замены WMS, даст практические пошаговые рекомендации владельцем склада по автоматизации.
👤Александр Шевелев, директор департамента индустриально-складской недвижимости Bright Rich I COFRAC Int в Санкт-Петербурге, представит аналитику рынка транспортных услуг в 2025 году.
Организатор конференции – журнал «Логистика 360».
➡️ Партнеры: AXELOT, Лемана ПРО, МАГНИТ, Почта России, LOGAREON, ATI SU, VEEROUTE, STELKON, ССИ-Решения, CONSTRUCTOR, AXELOT Consult, Консультационная группа «ТИМ», Интер-С, AXELOT Technologies, Авито Услуги, Нобилис, Диалог Терминал, Bright Rich и др.
Регистрация закрывается сегодня 🔔
#логистика360#logareon#brightrich
⚡️LOGAREON на конференции Логистика Будущего, logconf.ru
Евгений Рудковский
Кейсы. Цифры. Реальность.
Когда WMS реально работает на складе:
— WMS ≠ учёт. WMS = архитектура роста
— Microservices + Cloud → масштаб без остановок
— Event-driven → склад в режиме real-time
— WCS внутри WMS → готово к роботам
— Внедрение от 3 недель, а не «когда-нибудь»
📦 Кейсы без прикрас:
• DHL Uzbekistan — +45% к скорости обработки
• ISP Logistic — запуск склада за 3 недели
• WE FRY — роботизированный морозильник 24/7
• Гипфель — производство + склад = одна система
🎯LOGAREON не автоматизирует хаос. Он его убирает.
#ЛогистикаБудущего
#LOGAREON
#WMS
#Автоматизация
#Кейсы
Вчера провели вебинар, посвященный использованию LOGAREON WMS по модели On-Premise.
Продемонстрировали работу мультитенанта, модуль BI и подсистему WCS, ответили на самые волнующие вопросы.
#wms#logareon#Logistics#wcs
https://youtu.be/8qvo9W4mLek?si=HQ-jaKUz9XMgLwP1
3 августа в Алматы собрали наших друзей и единомышленников в рамках #AXELOTLOGISTICSGAP. Все участники – из сферы торговли и логистики, кто-то уже работал с AXELOT, а кто-то только интересуется автоматизацией логистики. В дружеской обстановке удалось обсудить практически все вопросы от строительства новых складов до оптимизации и автоматизации цепей поставок. Но самое главное, что участники мероприятия принимали активное участие в обсуждении на тему логистики, автоматизации и развития бизнеса в Казахстане. Было круто! Спасибо всем участникам!
Отдельное спасибо нашим партнерам: #SystemGroupKazakhstan#ZEBRA#LOGAREON Следующий #AXELOTLOGISTICSGAP пройдёт в Ереване и Тбилиси!
⚡️⚡️⚡️
Для наших любимых заказчиков записали видеоинструкцию по самостоятельной настройке и выполнению операций входящего потока в #самойлучшейWMS
❤️❤️❤️
Верим, что, имея доступ к такой простой и понятной инструкции, настроить систему в какой-то перспективе будет легче, чем научить медведя🐻 кататься на велосипеде🚴♂️😄
#logareon#Logistics#WMS #
https://dzen.ru/video/watch/65708abc6aba5b2d76d4e650?share_to=link
👥Забудьте о визжащих погрузчиках и людях, снующих между стеллажами. Современный высокотехнологичный склад — это слаженный бесперебойный оркестр, которым дирижирует WCS, а в качестве исполнителей — различные роботы, конвейерные системы, сортировочные узлы, подъемники и др.
👥Авторы статьи «Бесперебойный поток: как роботы, конвейеры и WCS революционизируют логистику складов» - системные аналитики LOGAREON Данила Ложкин и Артём Хрипунов, рассказывают в статье из журнала «Логистика 360» о том, почему «умное» ПО, например, WCS, становится не роскошью, а насущной необходимостью для выдерживания конкуренции.
Где это работает уже сейчас:
➡️ Распределительные центры e-commerce
➡️ Производственные склады
➡️ Морозильные камеры, куда почти не заходят люди
Читайте статью на сайте logistics360.ru🌐
#логистика360#logareon#wcs#автоматизациясклада
Друзья, всем привет!🤝
#AXELOT продолжает серию логистических нетворкингов!
Очередной логистический нетворкинг 2025 года пройдёт в Ереване🇦🇲17.12.2025😎
Цель как всегда одна, а именно создать «клуб логистических единомышленников»
Среди участников #AXELOTLOGISTICSGAP будут топ-компании Армении в своих направлениях!
В списке участников будут компании из различных направлений: 3PL, Ритейл, Дистрибуция FMCG и другие 😊
Организаторами и модераторами мероприятия также выступят #AXELOT#LOGAREON
Встреча пройдет в теплой дружеской обстановке, в ресторане отеля «Konyak» 17 декабря 2025 года в 17:00.
И конечно по традиции будет проведён Логистический Квиз-Плиз, который выявит сильнейших, которые получат призы от #AXELOT#LOGAREON
Будем рады видеть Вас на мероприятии 😊
Все вопросы писать: Андрей Волгай (@AndreyVolgai)
#Акселот#Нетворкинг#Армения#Ереван#AXELOTLOGISTICSGAP#LOGAREON
Ждём всех наKyrgyzTransLogistic 2025!
📍Место встречи: г. Бишкек,
ул. Тоголок Молдо, 40, Дворец спорта
им. К. Кожомкула.
📅 28 -30 октября 2025.
🔴Совместный стенд AXELOT & LOGAREON - E3;
• консультация по цифровизации логистики;
• кейсы автоматизации цепей поставок в регионе;
• оборудование от SoftVision.kg для автоматизации логистики.
#KYRGYZTRANSLOGISTIC2025
#ОптимизацияЛогистики#Акселот#AXELOT#LOGAREON#Логареон
Ждём всех наKyrgyzTransLogistic 2025!
📍Место встречи: г. Бишкек,
ул. Тоголок Молдо, 40, Дворец спорта
им. К. Кожомкула.
📅 28 -30 октября 2025.
🔴Совместный стенд AXELOT & LOGAREON - E4;
• консультация по цифровизации логистики;
• кейсы автоматизации цепей поставок в регионе;
• оборудование от SoftVision.kg для автоматизации логистики.
#KYRGYZTRANSLOGISTIC2025
#ОптимизацияЛогистики#Акселот#AXELOT#LOGAREON#Логареон
AXELOT х KyrgyzTransLogistic 28–30 октября
KyrgyzTransLogistic - Ведущая международная площадка для ключевых направлений развития логистики региона.
Ключевые события:
🔴Доклад Юрия Жданова (руководитель отдела международных продаж AXELOT): «Центральная Азия на пути к цифровой логистике с AXELOT SCM» (первый день выставки).
Фокус: как платформа AXELOT SCM решает ключевые вызовы отрасли, управляя складскими и транспортными операциями.
🔴Совместный стенд AXELOT & LOGAREON(№E3):
• демонстрация платформы AXELOT SCM;
• консультация по цифровизации логистики;
• кейсы автоматизации цепей поставок в регионе.
Преимущества решений:
• снижение операционных издержек;
• повышение точности управления запасами;
• сокращение времени обработки заказов в 2 раза.
Присоединяйтесь к формированию логистики будущего! 🚀
#KYRGYZTRANSLOGISTIC2025
#ОптимизацияЛогистики#Акселот#AXELOT#LOGAREON#Логареон