Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Этническая мода время от времени проникает в масс-маркет. Вспомним один пример из сравнительно недалекого прошлого.
Reserved Re. Design Spring/Summer 2019
Коллекция вдохновлена красотой природы Прибалтики и традиционными промыслами региона. В центре сюжета кампейна супермодель Малгоша Бела.
В капсуле можно увидеть сложные вышитые платья в авангардном стиле, соломеннные шляпы с широкими полями и свитшоты с этническим орнаментом. Выбор тканей и материалов отражает следование тренду на экологичность: органический хлопок, чистый тенсель, лен, кожа, солома.
#nationaltrend
Этническая мода на Олимпийских играх 🥇
Считанные дни остались до начала Олимпийских игр в Париже. По задумке организаторов игр парадная форма должна отражать культуру страны спортсменов. С этой задачей прекрасно справилась сборная Монголии!
Разработкой олимпийской линейки занимался бренд Michel&Amazonka - дизайнерская команда двух сестер. На костюмах золотыми нитями вышиты олимпийские символы (факел, эмблема игр) и национальные (солнце, луна).
Чудесное сочетание интернационального и локального!
#nationaltrend
Этномода по-японски
В коллекции музея Виктории и Альберта (Лондон) есть интересные экспонаты, связанные с попыткой современных японских дизайнеров представить свое видение стрит стайла.
Кумико Уэхара, Мана, Юми Футзивара отсылают нас к 1990-м годам, к популярному тогда стилю "Японская Лолита". Юбки с оборками, кукольный макияж, ленты, кружева, детские аксессуары, цвет - розовый, голубой, черный.
Заметны и переработанные элементы традиционного японского костюма, и очевидное влияние культуры Британии - образ Алисы в стране чудес, Лолиты, стилистика глэм-рока, готики и панка.
А как вам эти образы?
костюмы демонстрировались на выставке "Китти и бульдог, мода Лолиты и влияние Британии", проходившей в музее с апреля 2012 по январь 2013 гг.
фотографии с сайта музея Виктории и Альберта - vam.ac.uk
#nationaltrend
Paris Fashion Week все чаще включает в программу коллекции в этно стиле.
Как создать коллекцию одежды на основе национальных традиций ковроткачества, уходящих корнями в далёкое прошлое, и попасть с ней на одну из самых популярных недель моды?
Берём пример с основателя марки AFFFAIR - азербайджанского дизайнера Руфата Исмаилова: в 2022 году в рамках Недели моды в Париже представил коллекцию "Haute Couture Sumakh".
Не можем налюбоваться красотой азербайджанских ковров, и в то же время - изумительными нарядами, вдохновленными образцами карабахской школы ковроткачества.
В коллекцию "Сумах" вошёл 21 костюм, подготовленный на основе узоров Челеби, Ханлыг, Нелбеки-гюль и других мотивов азербайджанских ковров.
#nationaltrend
Нигерийско-американский дизайнер Sarah Nsikak через свои платья раскрывает истории африканских народов.
В интервью для Vogue в 2020г Nsikak отметила, что на создание платьев ее вдохновили женщины намибийского племени гереро, почти уничтоженного во время колониальной войны 1904-1908г.
Еще в начале XX века племя гереро было колонизировано Германией. Тогда жены миссионеров, старательно учили местных женщин прикрывать наготу, облачая их в пышные платья викторианского кроя. Многослойные юбки и объемные рукава, шали и жилеты стали неотъемлемой частью гардероба женщин гереро, которые сочетали нововведения с традиционными «рогатыми шапками» - платками, повязанными специальным образом, напоминающими рога коровы. В свою очередь, лоскутные платья стали повседневной вариацией гардероба местных женщин.
Новый национальный костюм удивительным образом прочно вошел в жизнь гереро. Благодаря необычным платьям, в которых женщины гереро ходят каждый день, их легко можно отличить от других народов Намибии.
#nationaltrend
Наряд невесты самого богатого человека Индии
Наследница крупной фармацевтической компании Радхика Мерчант блистала на своей свадьбе в наряде от Abu Jani Sandeep Khosla, стилизованном Реи Капур. Образ представляет собой сложный ансамбль из многослойной гагры, 5-метровой вуали, тканевой дупатты (индийский шарф) и второго отстегивающегося шлейфа.
Цветовые решения отсылают к гуджаратской свадебной традиции "Панетар" - нежное сари цвета слоновой кости дополнено традиционной вышивкой зардози и красной, расшитой узорами каймой.
📷The Blueprint News
#nationaltrend#стиль
Krikor Jabotian и ливанский гламур. Как сделать карьеру в 23 года?
☑️Окончить школу Esmod Beirut.
☑️Поработать в креативном отделе у известного Elie Saab.
☑️Взять в партнёры маму😎
Ливанского дизайнера Крикора Джаботяна однажды пригласила бейрутская организация «Starch Foundation» для создания своей коллекции.
В 23 года он создал собственное ателье🔥
Сейчас восходящая звезда моды известна благодаря своей невероятной фантазии, роскошному дизайну платьев с отсылками к Ренессансу и элементам национальной одежды Востока.
Длинные платья, расшитые драгоценными камнями, тюрбаны и фактурные линии являются элементами фирменного стиля дизайнера.
Крикор уже получил признание публики, среди его поклонников королева Иордании Рания.
«Интересно в нашей работе то, что мы постоянно учимся на своих ошибках. Поэтому моя цель – стать лучшей версией самого себя», - говорит дизайнер.
По материалам: arab news. com; job 4 arabists
#discoveringtalents
#nationaltrend
KAJA(D) / ECHO(ES) show
В современной культуре финно-угорских народов этнофутуризм является одним из доминирующих направлений. Свое отражение это направление нашло и в моде: удивительное сочетание футуристичных гиперболизированных форм, мифических сюжетов и этнических узоров.
А как вам такая эстетика?
На 📷 показ студентов Эстонской академии художеств(ЕКА) и финно-угорских дизайнеров, организованный в рамках Дней родственных народов
Еще больше вдохновляющих образов здесь
#nationaltrend#ethnography
Fashion портянки от Tod's SS 2021.
Спорный тренд "носки с босоножками" , кажется имеет объяснение.
#Онучи - портянки, надеваемые крестьянами под лапти, привязанные к ногам шнурками ... в этом образе корни модно-народного тренда очевидны 🧐
#nationaltrend
Образы от @ carolinakuniverse
portraits for Andes, the Fall/Winter 23
Коллекция воплощена в жизнь благодаря сотрудничеству латиноамериканских художников, это дань уважения богатой палитре латиноамериканской культуры.
#ANDES
Фото @ andresoyuela
Стилист@ davidechikm
Прическа и макияж @ laupantoja
#nationaltrend
Традиционные техники ремесленных практик как решение экологических проблем?
Эту идею поднимает и обсуждает коллекция Stella Jean (Pre-Fall 2021). Модельер бренда, итальянка гаитянского происхождения, всегда концентрируется в своей работе на возвращении к истокам.
Культура Гаити невероятно разнообразна – она вобрала в себя как африканские, так и европейские элементы. Важными деталями в одежде женщин считаются многослойные плиссированные юбки, тюрбаны из яркой ткани с простыми геометрическими или природными узорами.
Для этой коллекции модельер решила добавить интересный акцент – папье-маше*.
Во многих общинах страны существуют свои особенности работы в подобной технике. В феврале, например, даже проходят специальные празднества, где жителям Гаити ремесленники показывают необычные маски.
#zoovibe#nationaltrend