@likeiniran2 · Post #7643 · 19.12.2025 г., 11:52
🫖 🇮🇷Чайная ферма в Фумане, Гилян, 5й км по Масулех-роуд #Нозари#Gilan#Iran Иран - тонкости туризма
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
Пребарај: #gilan
@likeiniran2 · Post #7643 · 19.12.2025 г., 11:52
🫖 🇮🇷Чайная ферма в Фумане, Гилян, 5й км по Масулех-роуд #Нозари#Gilan#Iran Иран - тонкости туризма
@likeiniran2 · Post #6123 · 24.07.2025 г., 10:30
Иранский рис🌾 Рисоводство в Иране, процветает благодаря уникальным климатическим условиям северных регионов. Субтропический, влажный климат Гиляна, Мазендерана характеризующийся обильными осадками и мягкой зимой, обеспечивает идеальную среду для выращивания риса. Ландшафт провинций усеян рисовыми полями, которые аккуратно затапливаются во время дождливого сезона, создавая идеальные условия для выращивания риса. Как правило, сначала рис проращивают в специальных ящиках, а затем проросшие ростки высаживают на поле. В Иране это делается в т.ч. вручную. А зачем так много воды?Логичный вопрос. Сам рис относится к влаголюбивым растениям и способен переносить нахождение в затопленном месте. Этим качеством риса и пользуется фермеры. Так как большинство сорняков не могут выжить в таких условиях. А некоторые страны практикуют суходольное рисоводство. При этой технологии рис выращивается на обычных, незаливаемых полях. Правда, его урожайность при таком методе выращивания несколько меньше, но не из-за недостатка влаги, а по причине докучливых сорняков. #Иран#Ирантур#Gilan#Iran Иран — тонкости туризма
@likeiniran2 · Post #6297 · 08.08.2025 г., 14:14
Город дождей В есть в Иране свой город дождей, это город Решт. В Реште 160 дней в год идут дожди. Находится этот город в остане Гилян, в 327 километрах от Тегерана. Некогда Решт играл важную роль в экономике Ирана. Это были ворота Ирана в Россию и Европу, поэтому на него оказала влияние западная архитектура. Здесь была построена первая публичная библиотека Ирана (1852г.), и это был первый город в Иране, где девочкам разрешили ходить в школу (1898 г.) В Реште было открыто российское консульство в 1859 году. *ролик из сети #Нозари#Ирангид#Iran#Gilan#RashtИран - тонкости туризма
@likeiniran2 · Post #5538 · 25.05.2025 г., 07:44
Двери - двери, а вот и балконы подъехали Все балконы с нашего прошлогоднего вояжа по северным территориям Ирана. Мазендеран ❤️и Гилян любовь с первого взгляда. Кто пропустил наше каспийское путешествие: ✅Рисовые поля Каспия ✅Шомаль ✅Мазендеран за две минуты ✅ Открываем нетипичный Иран ✅Что привезти из Мазендерана #Иран#Мазендеран#Гилян#Лахиджан#Iran#Gilan Иран — тонкости туризма
@likeiniran2 · Post #4355 · 14.01.2025 г., 08:13
Вопрос: "в Иране растут оливки?" 🫒 Родиной оливковых деревьев является Юго-Западная Азия. Оливки в Иране прекрасно себя чувствуют. Иран занимает 14-е место в мире по площадям, выделенным под выращивание оливок, и 17-е по объему производства.Ведущие регионы выращивания оливок в Иране включают провинции Фарс, Керман, Хормозган, Систан-Белуджистан, Казвин, Гилян, Голестан и Зенджан. *На фотографиях масло и маринованные оливки в придорожном магазинчике на пути в г. Решт (провинция Гилян). #Иран#Иранотдых#Нозари#Iran#iran#Иранеда#رشت #Rasht#rasht#Gilan Иран — тонкости туризма
@didiplustv · Post #68 · 15.10.2025 г., 19:04
54. #Иран. #Гилан. #Лахиджан. #Iran. #Gilan. #Lahijan.
@didiplustv · Post #87 · 18.10.2025 г., 09:47
73. Чайная плантация #iran#иран#природа#tea#чай#gilan#гилан#DiDiPlusTV
@didiplustv · Post #41 · 12.10.2025 г., 12:27
29. #Иран. Провинция #Гилан. #Лахиджан. #ОзероЛахиджан. #Iran. #Gilan. #LahijanLake#DiDiPlusTV
@didiplustv · Post #107 · 23.10.2025 г., 06:15
93. Север Ирана #iran#иран#travel#food#gilan#Гилан#мазандаран#путешествие#поехаливиран#welcometoiran#DiDiPlusTV
@didiplustv · Post #115 · 27.10.2025 г., 10:10
101. Природа #природа#nature#релакс#лес#iran#travel#nature#gilan#звукиприроды#иран#гилан#DiDiPlusTV
@didiplustv · Post #42 · 12.10.2025 г., 12:30
30. #Иран. #Гилан. #Лахиджан. #РесторанAghaeKabab. #Iran. #Gilan. #Lahijan. #осетровыйшашлык#MrKababRestaurant#DiDiPlusTV
@didiplustv · Post #98 · 20.10.2025 г., 12:11
84. Традиционный иранский завтрак #iran#иран#тегеран#tehran#travel#еда#food#gilan#mazandaran#traditions#традиции#завтрак#breakfast#DiDiPlusTV