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

Резултати

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

Пребарај: #untertiteln

当前筛选 #untertiteln清除筛选
Russisches Haus in Berlin

@rushaus · Post #2020 · 27.11.2025 г., 15:58

„G-Klasse“ — Komödie in russischer Sprache mit englischen Untertiteln🎞️ Dies ist Geschichte eines einfachen Fernfahrers🚐 namens Sanja, der davon träumt, genug Geld💸 für ein ruhiges Leben und die Zukunft seines Kindes zu verdienen. Er nimmt den Auftrag an, einen teuren Geländewagen zu überführen, ohne zu ahnen, dass das Auto in kriminelle Machenschaften verwickelt ist. Aus einem harmlosen Nebenjob wird eine Reiheabsurder Abenteuer, Polizeiverfolgungen👮🏻‍♂️ und moralischer Prüfungen, in denen Sanja zwischen Geld, Ehrlichkeit und Familie wählen muss. 📺Der Film verbindet Ironie und Drama und verwandelt eine Reise quer durch Russland in eine Metapher für die Suche nach sich selbst und nach den wahren Werten. 🍿Am 2. Dezember um 19:00 Uhr im Filmtheater im Russischen Haus 📲Anmeldung ist erforderlich. #kino#komödie#untertiteln#abenteuer

Russisches Haus in Berlin

@rushaus · Post #2047 · 17.12.2025 г., 16:34

Wenn die Abende länger und die Nächte kälter werden, ist es Zeit, innezuhalten und zu träumen. In der magischen Vorweihnachtszeit laden wir euch ein, dem Alltag zu entfliehen und warm eingekuschelt in den Sesseln unseres gemütlichen Filmtheaters!🥰🍿 📽️ Schon als Kind träumte Warja von der Bühne und Tanzen💃🏻 war ihr ganzes Leben. Als ihr Partner Nick wird, ein begabter Tänzer und Blogger🤳🏻, wächst ihre Freundschaft zu einem gemeinsamen Ziel. Kurz vor dem Finale des Wettbewerbs wird ein Geheimnis enthüllt: Warja ist taub, und plötzlich steht ihre Traumkarriere infrage. Ihr Weg ist mehr als Choreografie, es ist ein Kampf gegen Vorurteile, ein Zeichen für Freundschaft und Selbstvertrauen. 📺Die Familienkomödie „Rhythmen der Träume“ wird am 23. Dezember um 19:00 Uhr in russischer Sprache mit englischen Untertiteln gezeigt. 🖇️Anmeldung #kino#familienfilm#komödie#filmeabend#untertiteln

Wenn die Abende länger und die Nächte kälter werden, ist es Zeit, innezuhalten und zu träumen. In der magischen Vorweihnachtszeit laden wir euch ein, dem Alltag zu entfliehen und warm eingekuschelt in den Sesseln unseres gemütlichen Filmtheaters!🥰🍿 📽️ Schon als Kind träumte Warja von der Bühne und Tanzen💃🏻 war ihr ganzes Leben. Als ihr Partner Nick wird, ein begabter Tänzer und Blogger🤳🏻, wächst ihre Freundschaft zu einem gemeinsamen Ziel. Kurz vor dem Finale des Wettbewerbs wird ein Geheimnis enthüllt: Warja ist taub, und plötzlich steht ihre Traumkarriere infrage. Ihr Weg ist mehr als Choreografie, es ist ein Kampf gegen Vorurteile, ein Zeichen für Freundschaft und Selbstvertrauen. 📺Die Familienkomödie „Rhythmen der Träume“ wird am 23. Dezember um 19:00 Uhr in russischer Sprache mit englischen Untertiteln gezeigt. 🖇️Anmeldung #kino#familienfilm#komödie#filmeabend#untertiteln

Russisches Haus in Berlin

@rushaus · Post #2110 · 15.02.2026 г., 13:37

Die Familienkomödie „Der Familienvater“ wird am 16. Februar um 19:00 Uhr in russischer Sprache mit englischen Untertiteln gezeigt.🍿 🎬 Die Hauptfigur Georgij ist ein erfolgreicher und wohlhabender Millionär und Unternehmer, der an ein luxuriöses Leben als Junggeselle gewöhnt ist. An seinem Geburtstag verbringt er den Tag ganz allein, trinkt ein wenig und befiehlt aus Spaß seinem Assistenten, bis zum Morgen eine „richtige“ Familie für ihn zu organisieren. Doch am nächsten Morgen geht sein Wunsch auf seltsame Weise in Erfüllung: Er wacht mit seiner Ehefrau und zwei Kindern auf, die fest davon überzeugt sind, dass sie schon immer bei ihm gewesen sind. Sogar sein Umfeld und sämtliche Dokumente bestätigen Georgys neuen Familienstand. Nun muss der Millionär das Leben in einer Familie erleben, ein liebevoller Ehemann und Vater werden und lernen, was man sich für kein Geld der Welt kaufen kann. 📲Anmeldung #kino#film#familienkomödie#filmtheater#untertiteln

Russisches Haus in Berlin

@rushaus · Post #2031 · 03.12.2025 г., 17:32

„Renn!“ – neue russischeKomödie mit englischen Untertiteln📽️ 📺 Ein Einbrecher namens Sascha wird zufällig Zeuge des Mordes an der Ehefrau des Hauseigentümers Czernow und gerät in tödliche Verfolgung, gleichzeitig muss er es rechtzeitig zum Kindergartenauftritt seines Sohnes schaffen, denn davon hängt die Zukunft seiner Ehe ab. 🗓️ Am 4. Dezember um 19:00 Uhr Kommt vorbei!❤️ 📲Anmeldung #kino#filmtheater#komödie#filmabend#berlinkino#untertiteln