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

Резултати

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

Пребарај: #german

当前筛选 #german清除筛选
O’zbekiston Milliy Universitet (O'zMU)

@milliy_universitut · Post #5307 · 24.03.2025 г., 14:59

#german 🆕B2 uchun tezkor nemis tili kursi! 🇩🇪 3 oy ichida B2 sertifikatiga tayyorlaning! 📌Darslar: Haftada 3 marta, har biri 3 soat 📌Davomiyligi:Apreldan boshlab 3 oy 📌Qo‘shimcha:Prüfungstraining (imtihon tayyorgarligi) 📌Format: Online 📌Kimlar uchun: Tezda B2 sertifikat olishni maqsad qilganlar uchun 📚Bizda imtihon talablariga mos holda, intensiv o‘qitish tizimi asosida o‘qishingiz mumkin. ‼️Eslatma: B1 darajani tugatganlar qabul qilinadi! ✈️Qo‘shimcha ma’lumot va ro‘yxatdan o‘tish uchun biz bilan bog‘laning: @mittelpunktmanager ✅Mittelpunkt|Dein Weg zur Entwicklung

Hashtags

Texnika Universiteti (TDTU)

@toshkent_davlat_texnika_univer · Post #2353 · 24.03.2025 г., 14:59

#german 🆕B2 uchun tezkor nemis tili kursi! 🇩🇪 3 oy ichida B2 sertifikatiga tayyorlaning! 📌Darslar: Haftada 3 marta, har biri 3 soat 📌Davomiyligi:Apreldan boshlab 3 oy 📌Qo‘shimcha:Prüfungstraining (imtihon tayyorgarligi) 📌Format: Online 📌Kimlar uchun: Tezda B2 sertifikat olishni maqsad qilganlar uchun 📚Bizda imtihon talablariga mos holda, intensiv o‘qitish tizimi asosida o‘qishingiz mumkin. ‼️Eslatma: B1 darajani tugatganlar qabul qilinadi! ✈️Qo‘shimcha ma’lumot va ro‘yxatdan o‘tish uchun biz bilan bog‘laning: @mittelpunktmanager ✅Mittelpunkt|Dein Weg zur Entwicklung

Hashtags

Tg Links

@TgDict · Post #114 · 22.10.2022 г., 05:35

#German Augsburg: @AugsburgNightlife Berlin: @BerlinNightlife Bochum: @BochumNightlife Bremen: @BremenNightlife Dortmund: @DortmundNightlife Dresden: @DresdenNightlife Duisburg: @DuisburgNightlife Düsseldorf: @DuesseldorfNightlife Essen: @EssenNightlife Frankfurt: @FrankfurtNightlife Gelsenkirchen: @GelsenkirchenNightlife Hamburg: @HamburgNightlife Hannover: @HannoverNightlife Heidelberg: @HeidelbergNightlife Köln: @KoelnNightlife Leipzig: @LeipzigNightlife Mannheim: @MannheimNightlife München: @MuenchenNightlife Münster: @MuensterNightlife Nürnberg: @NuernbergNightlife Stuttgart: @StuttgartNightlife Ulm: @UlmNightlife

Hashtags

Addis Standard

@addisstandardeng · Post #22130 · 28.04.2026 г., 05:43

‘Skilfully’ negotiating #Iran is ‘humiliating’ #US, #German Chancellor warns; says Washington lacks ‘strategic exit’ Addis Abeba – German Chancellor Friedrich Merz has warned that Iran is “humiliating” the United States through “skilful” negotiating, while questioning Washington’s lack of a clear exit strategy in the ongoing war. Speaking in Marsberg, Merz said Iran appeared stronger than expected and accused the US of lacking direction. “The Iranians are clearly stronger than expected and the Americans clearly have no truly convincing strategy in the negotiations either,” he said, according to Deutsche Welle (DW). He added that Tehran was negotiating “very skillfully — or very skillfully not negotiating,” warning that: “At the moment, I do not see what strategic exit the Americans will choose.” https://www.facebook.com/share/1CSxphCpmn/?mibextid=wwXIfr

Daily European Music

@Music_Of_Europe · Post #22 · 12.08.2020 г., 10:20

#Folk#German Was wollen wir trinken also known as Sieben Tage lang is a song by the band bots. It speaks about camaraderie, hard work and the joy to drink away your hard life, then go back to working hard without knowing for how long but never alone as friends stand with us during tough times just waiting to drink again between friends. It is the spirit of the working men, to stand through hard work and tough times, to help eachother out and wait for the day where you can drink and feast togethers. https://youtu.be/gh3Y_jtDADo

Hashtags

全民头条吃瓜

@xinwenchigua8 · Post #66849 · 12.05.2026 г., 13:39

#中国 的朋友,我不使用中国版抖音,这不是我,请举报。 #德国 女孩 举报 抖音 假帐号 😁 假帐号 24万粉丝,真人账号2.9万 😂 Friends in China, I don't use the Chinese version of Douyin. This isn't me. Please report it. #German girl reporting a fake Douyin account 😁 Fake account with 240,000 followers, real account with 29,000 followers 😂

ПретходнаСтраница 1 од 3Следна