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

Резултати

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

Пребарај: #zz

当前筛选 #zz清除筛选

中文名: 武器种族传说 话数: 26 放送开始: 2005年4月5日 放送星期: 星期二 原作: 東まゆみ 导演: うえだしげる 脚本: 高山カツヒコ、川崎ヒロユキ、花田十輝、村山桂、會川昇、玉井☆豪 ☺️评分:6.7 推荐 💙故事简介 向往天空、接近天空 在这个只有极少一部分人开始得到飘浮在天空的神秘力量的世界·“庭园”在那里,“圣战天使”——一种能够与人类合体,变身为最强武器并与人类共同战斗的梦幻种族,在人类面前开始复活了。 少年酷是空盗团的冒失鬼,有一天他与被封印的美少女蕾邂逅了。不轻易向他人敞开心扉的蕾,其实是梦幻种族“圣战天使”。蕾告诉酷,她想去传说之地“艾迪鲁庭园”。 因此,酷和蕾便踏上了旅途。 另一方面,保护圣战天使的完全协会的成员希丝卡、罗文,奇雅以及协会所属的艾迪莱特族的三人也要护送蕾。於是,酷、蕾再加上来自完全保护会的三个人,向有着“存在于天之尽头、云之彼岸的空中的黄金大地”之称的“艾迪鲁庭园”出发! 🌐辅助网盘:见表格 😱百度网盘:点击下载 😄往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#Z#ZZ 标签:#漫改#奇幻#战斗 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压

嗨皮快乐屋北京

@hpklwbj · Post #167431 · 23.03.2026 г., 04:50

希希well🏠#zz 兼职|来自浙江的女孩 温柔气质女友大四实习生纯天然无整容 干净而纯粹的白·简单又纯净 无纹身 不抽烟 There is more to come. ·Age年龄: 03年 ·Weight体重:45kg ·Height身高: 176cm ·Bust胸围: C-cup 就读于山东省《曲阜师范大学》 A4腰·纤长细腿·黄金比例温柔·清纯·高级·气质温婉 You are my today and all of my tomorrows. 一个心中有梦 眼里有光的女孩 ⛳️#百子湾#大长腿 #舞蹈#学生#纯欲#一字马

中文名: 在这世界的角落 上映年度: 2016年11月12日 片长: 128分钟 话数: 1 原作: こうの史代『この世界の片隅に』(双葉社刊) 导演: 片渕須直 脚本: 片渕須直 ☺️评分:7.3 推荐 🟢故事简介 出身广岛市江波制海苔工家庭的浦野铃,是个有点傻气、擅长画画的女孩,在穷困、平凡却又偶尔参杂着怪事地长大成人后、她与幼年时曾有一面之缘、居住在军港吴市的海军勤务兵北条周作结婚。在那里过着受严格的小姑径子督导,被可爱的侄女晴美缠着的,再普通不过的夫妇生活。但随着第二次世界大战爆发,战争的影响开始深入生活的每个层面,虽然个性乐天的阿铃努力地去适应这种生活,但逐渐延烧到日本本土的战火终究从她那儿夺走了重要的事物…… 🌐OneDrive:点击下载 🗂百度网盘:点击下载 📁往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#Z#ZZ 标签:#漫改#剧场版#战争

中文名: 组长女儿与照料专员(组长女儿与保姆) 英文名: Kumichou Musume to Sewagakari 话数: 12 放送开始: 2022年7月7日 放送星期: 星期四 导演: 川崎逸朗 脚本: 川崎逸朗、大知慶一郎 分镜: 渡邊哲哉、川崎逸朗、今井翔太、金澤洪充、立田眞一 ☺️评分:6.0 还行 💙故事简介 故事讲述黑道组织樱树组的28岁年轻少当家雾岛透, 某日被任命负责照顾组长的独生女樱树八重花, 因而展开各种欢乐又温馨的日常故事。 🔐解压:blackcatunderthemoon 引索:#Z#ZZ 标签:#漫改#日常#治愈#搞笑 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压

中文名: 钟之音学园(Green Green) 话数: 12 放送开始: 2003年7月12日 放送星期: 星期六 导演: ムトウユージ 脚本: 砂山蔵澄 分镜: 西村純二、小島多美子、ムトウユージ ☺️评分:5.1 不过不失 💙故事简介 文明和流行隔绝的校舍,必定是男孩们最好的乐园。像这个这充满青春气息的学园,称为钟之音学园。很久很久以前,有一个男孩和一个女孩相爱了,但是在那个时代是不被允许的。结果,他们一起殉情并发誓来世再相爱。 山奥高校是一个女校,因此当她们听说校方允许男生入校的消息后无比的兴奋。她们幻想着聪明而优雅的男孩子的出现。然而,事实上,获得许可的男孩子都来自乡下,不聪明,遑论优雅。更糟糕的是,其中的两个还是——超级BT。 🩶GoogleDrive:点击下载 😱百度网盘:点击下载 😄往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#Z#ZZ 标签:#游戏改#后宫#搞笑#恋爱#OVA#校园 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压

中文名: 再造基因 话数: 12 放送开始: 1994年10月7日 放送星期: 星期五 原作: 桂正和 导演: 坂田純一 ☺️评分:6.5 推荐 🟢故事简介 63年后的未来世界由于人口过多,甚至订定了生2个小孩为死刑的法律。在这样的时代里被称为“超级花花公子(メガプレイボーイ”的男人拥有100人以上的小孩,而且其DNA被继承了下来。 政府派出了“DNA操作者”葵华林(葵加玲)来到过去的时代,企图改变这个男人的DNA。然而这个男人桃生纯太却是个不受女性青睐、不可靠,离超级花花公子10万8千里的人。华林本来应该是依照预定达查成了任务,但却弄错了改写DNA的子弹(DCM弹),使得纯太开始出现觉醒为超级花花公子的征兆。 🌐OneDrive:点击下载 🗂百度网盘:点击下载 📁往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#D#DN#Z#ZZ 标签:#后宫#科幻#漫改 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压

中文名: 实况主的逃脱游戏(实况主的逃脱游戏【直播中】) 话数: 12 放送开始: 2019年7月7日 放送星期: 星期日 导演: 大沼心 脚本: 井上亜樹子、横手美智子、下山健人 分镜: 湊未來、二瓶勇一、岩畑剛一、大内大和、渡部高志、大沼心、小寺勝之、細田雅弘、澤井幸次 ☺️评分:5.9 还行 💙故事简介 《中之人基因组》,在游戏实况者之间成为话题的神秘免费游戏。通称,失踪游戏。据称,在即将通关之际就消失的玩家源源不断。 失踪的游戏实况者们被人为地与外界隔离,集合到某座岛上。在那里,他们所接受的命令,是通过必须在现实中通关的各种游戏,来达成一亿的播放数。 8名人气实况者所带来的,以能否回归为赌注的真实游戏《中之人基因组》的实况开始了—— 💔OneDrive:打开表格 😱百度网盘:点击下载 😄往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#Z#ZZ#S#SK 标签:#漫改#悬疑#日常#搞笑#异世界#奇幻 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压