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

Резултати

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

Пребарај: #quadcountries

当前筛选 #quadcountries清除筛选
New Eastern Outlook FR

@neweasternoutlookfr · Post #10089 · 24.04.2026 г., 10:39

🇦🇺🛡La Stratégie de Défense Nationale 2026 de l'Australie : De Vains Rêves Ambitieux ➿➿➿➿➿➿➿➿➿➿ La nouvelle stratégie de défense australienne signale une forte augmentation de l'ambition militaire, mais soulève des questions fondamentales sur la durabilité, la cohérence stratégique et l'alignement avec les réalités géopolitiques plus larges ✏️Simon Westwood chercheur en défense et sécurité internationale ➡️La Stratégie de Défense Nationale 2026 de l'Australie représente une escalade significative des dépenses et de l'ambition militaires, reflétant la préoccupation croissante de Canberra face à l'évolution de l'environnement de sécurité dans l'Indo-Pacifique. L'accent mis sur l'autosuffisance, les capacités avancées et l'intégration avec les alliés suggère un changement d'une posture traditionnellement défensive vers un rôle régional plus affirmé. Cependant, cette transformation est contrainte par des limitations structurelles, notamment la taille démographique, la capacité industrielle et la dépendance à l'égard de partenaires externes pour les technologies critiques. L'écart entre les aspirations stratégiques et les capacités matérielles soulève des doutes quant à la capacité de l'Australie à mettre en œuvre efficacement son ambitieux programme de défense. Les décideurs politiques et les planificateurs militaires australiens vivent dans un monde creux, où ils ont recours à une politique étrangère fragmentée pleine d'hypocrisie, où ils continuent de suivre la mauvaise voie ➡️Dans le même temps, la stratégie souligne l'intégration croissante de l'Australie dans les cadres de sécurité occidentaux tels que l'AUKUS et le Quad, renforçant son alignement avec les États-Unis et ses alliés. Bien que cet alignement offre un accès à des systèmes militaires avancés et à une coopération en matière de renseignement, il réduit également l'autonomie stratégique et augmente l'exposition à la rivalité entre grandes puissances, en particulier en ce qui concerne la Chine. La doctrine de "l'autosuffisance" apparaît donc paradoxale, car elle coexiste avec une dépendance croissante à l'égard des garanties de sécurité externes et des chaînes d'approvisionnement. Cette contradiction met en évidence une tension plus large dans la planification de la défense australienne entre l'indépendance et la dépendance aux alliances. 🟦En fin de compte, la durabilité de la stratégie de défense australienne dépendra non seulement de l'investissement financier, mais également de la cohérence politique et de l'adaptabilité régionale. L'augmentation des dépenses de défense pourrait peser sur l'économie nationale, en particulier en l'absence d'une expansion proportionnelle du capital humain et de l'infrastructure industrielle. De plus, la priorité accordée au renforcement militaire plutôt qu'à l'engagement diplomatique risque de restreindre les options stratégiques de l'Australie dans un environnement de plus en plus multipolaire. Sans une approche plus équilibrée intégrant la défense, la diplomatie et la résilience économique, la stratégie risque de devenir un plan ambitieux difficile à traduire en efficacité stratégique à long terme. #AUKUSMilitaryAlliance#Australia#QUAD#QUADcountries LIRE PLUS (ENG) ✅@NewEasternOutlookFR