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

Резултати

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

Пребарај: #three

当前筛选 #three清除筛选
Lsposed Modules Updates Tracker

@lsposed_Modules_Updates_Trackers · Post #6240 · 19.03.2026 г., 00:00

#Three#rafareborn 模块:eu.hxreborn.tfs 简介:Three Finger Swipe - Three-finger swipe gestures for screenshots and other actions 版本:10019-1.0.1 更新时间:2026/03/19 00:34:24 更新日志: Fixed Fix licenses screen crash from AGP 9 resource obfuscation by @hxreborn Update cliff.toml for git-cliff 2.x template API by @hxreborn @lsposed_Modules_Updates_Trackers | @lsposed_Geeks_Bot

#前端#Three.js 【郭隆邦】Three.js可视化系统课程WebGL(最新版42章+700多课时+全网最全) https://study.163.com/course/introduction/1212760820.htm 会员免费看 支持换课 招收代理 课程咨询客服https://t.me/e9999dd 除了这个客服 其他地方不回复

品测

@SIM_CN · Post #267 · 03.06.2025 г., 04:52

#英国#Vodafone#Three ————————— 🇬🇧 Vodafone&Three 正式合并 ————————— 简介: 传奇运营商牢沃与牢李的牢3已经正式成功合体为 沃三封 目前Vodafone官网流出的信息是Vodafone, Three, VOXI, SMARTY 和 Talkmobile 这几个正统品牌仍然会独立运营,同时保持原有资费. 至于旗下MVNO,如LebaraUK等,暂时不知道后续安排 对于漫游资费,牢沃官网是这个解释:漫游或国际服务不会立即发生变化。任何未来的更新都将提前明确告知客户。 英国的俩封号王合并了属于是 ————————— 来源: x(Vodafone UK) FAQ: Vodafone UK官网 ————————— Powered By @SIM_CN 2025/06/03 如果有错误或者纰漏请群友多多指出,谢谢! ————————— 推广: [eSTK.ME 年轻人第一张实体eSIM]

Addis Standard

@addisstandardeng · Post #21443 · 19.02.2026 г., 06:51

News: #Ethiopian Airlines to open #three new domestic airports Ethiopian Airlines has announced plans to inaugurate three new domestic airports in #Negele_Borena, #Gore_Metu, and #Debre_Markos, expanding its internal flight network. In a statement released yesterday, the airline said the newly built airports are expected to be operational by April 2026, with regular passenger flights scheduled three times weekly to each destination. The expansion will bring the airline’s total domestic destinations to 26, a move it says is intended to strengthen trade, tourism, and social connectivity across Ethiopia. Mesfin Tasew, Ethiopian Airlines Group CEO, described the initiative as a milestone for both the airline and the country, highlighting the economic and social benefits of improved air transport access. He said the new routes reflect the airline’s commitment to enhancing domestic connectivity while supporting national development through reliable air transport services.

VIP_影视分享

@WangZhuanZhan · Post #34269 · 23.10.2024 г., 06:55

B-b爸b爸b的d3s次c婚h礼l- 爸爸的3次婚礼 (2016) 直达链接:https://pan.quark.cn/s/a0c543c11f7e #爸爸的3次婚礼 #六次别离#爸爸的三次婚礼 #我和初恋的三次婚礼 #Three Weddings 链接:https://link3.cc/sf_com #电影#喜剧#台湾#10年代

GitHub Trends

@githubtrending · Post #14824 · 12.06.2025 г., 12:00

#typescript#3d#browser_based#cad#geometry#occ#occt#opencascade#three#threejs#wasm#webassembly#webcad Chili3D is a free, open-source 3D CAD application that you can use directly in your web browser. It allows you to create and edit 3D models without needing to install any software on your computer. You can make basic shapes like boxes and spheres, draw 2D sketches, and perform advanced operations like combining shapes. It also includes tools for precise alignment and measurement. This makes it easy for anyone to design and edit 3D models online, which is helpful for both beginners and experienced users. https://github.com/xiangechen/chili3d