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

Резултати

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

Пребарај: #scienceandinnovation

当前筛选 #scienceandinnovation清除筛选

🟦🟦🟦🟦🟦🟦🟦 ☄️📚✅ Buxoro davlat universiteti va Yaponiyaning nufuzli universitetlari o‘rtasida hamkorlik yo‘lga qo‘yildi 🇯🇵🇺🇿Buxoro davlat universiteti bilan Yaponiyaning yetakchi oliy ta’lim muassasalari — Tsukuba universiteti (University of Tsukuba, QS-2026 xalqaro reytingida 350-o‘rinda) hamda SOKENDAI (The Graduate University for Advanced Studies) universitetlari o‘rtasida istiqboldagi yo‘nalishlar bo‘yicha hamkorlik o‘rnatish yuzasidan kelishuvlarga erishildi. 🎓 Tsukuba universiteti prezidenti Dr. Nagata Kyosuke va SOKENDAI universiteti prezidenti Dr. Takashi Nagata bilan o‘tkazilgan uchrashuvlar davomida qo‘shma ilmiy tadqiqotlar olib borish, professor-o‘qituvchilar va talabalarning almashinuv dasturlarini yo‘lga qo‘yish, ilmiy stajirovkalar, xalqaro grantlar va qo‘shma loyihalar ustida ishlash kabi masalalar muhokama qilindi. 🔄 Mazkur hamkorlik Buxoro davlat universitetining xalqaro miqyosdagi ta’lim va ilmiy integratsiyasini kengaytirish, shuningdek, O‘zbekiston va Yaponiya o‘rtasidagi akademik aloqalarni yangi bosqichga olib chiqishga xizmat qiladi. #BuxDU#Yaponiya#TsukubaUniversity#SOKENDAI#InternationalCooperation#ScienceAndInnovation 👶👧🧒👦👩🧑👨👩‍🦱🧑‍🦱👨‍🦱👩‍🦰🧑‍🦰 Bizni kuzatishda davom eting: 🌐Telegram🌐Facebook

🎓 Discover Science and Innovation in Russia! 🇷🇺 ✅Why do thousands of students from all over the world choose Russian universities? ✅ For groundbreaking research opportunities, ✅ For world-class facilities and unique locations, ✅ And for a journey of self-realization and professional growth. 💡 Top destinations for aspiring scientists: 🏛Moscow State University (MSU) The oldest and most prestigious university in Russia with: - A massive research platform, - Advanced laboratories and research centers, - 550+ international postgraduate students currently exploring cutting-edge fields. 🏛University of Tyumen (UTMN) A hub for innovative master's programs and graduate studies featuring: - Modern research centers and labs, - Unique training bases on Lake Baikal, - An inspiring atmosphere for international students passionate about science. 🏛Bashkir State University (BSU) A leader in scientific and innovative activities with: - 14 research and educational centers, - 10 dissertation councils, - A thriving student scientific society and nine scientific journals. 🏛 St. Petersburg State University A global research hub with: - A science park with the latest equipment, - Dozens of laboratories and centers, - Graduates in demand worldwide, with 700+ foreign postgraduate students. 🏛Novosibirsk State University (NSU) At the heart of Akademgorodok, offering: - Integration with the Russian Academy of Science, - 38 research centers, - Opportunities to become an advanced scientist. 🎓 Studying in Russia isn’t just education—it’s a path to transformation. Embrace constant self-improvement, dive into innovative projects, and shape your future as a global scientific leader! Start your journey today! Apply now to Russian universities and take the first step towards your dream career in science and research. 👉 Register now: https://education-in-russia.com #EducationInRussia#studyinrussia#ScienceAndInnovation#GlobalEducationJourney#FutureLeaders#Rossotrudnichestvo#Russia#RussianUniversities

МЕНДЕЛЕЕВСКИЙ ФИЛИАЛ НА МЕЖДУНАРОДНОМ ФОРУМЕ «WOMEN IN STEM – 2026» 🖥 14–17 февраля 2026 года профессорско-преподавательский состав, одарённые студенты Филиала, а также участники проекта «Менделеевская школа» приняли активное участие в международном научном форуме «Women in STEM – 2026», проходившем в г. Ташкенте в рамках научной недели, посвящённой Международному дню женщин и девочек в науке. ✈️ Форум был организован при поддержке Министерства высшего образования, науки и инноваций Республики Узбекистан, Ташкентского химико-технологического института, АО «Узкимёсаноат», Комитета по делам семьи и женщин, Чирчикского химико-индустриального технопарка, фонда «Ziyo Forum», а также ведущих международных партнёров — Integral University (Индия), South-West University “Neofit Rilski” (Болгария) и Международного союза теоретической и прикладной химии (IUPAC). ✅ Представители Менделеевского филиала выступили с научными докладами, провели интерактивные квизы, а также организовали зрелищные демонстрации химических реакций, вызвавшие большой интерес у участников форума. 🔬 Одарённые студенты и участники проекта «Менделеевская школа» продемонстрировали современные химические эксперименты, наглядно отражающие высокий уровень подготовки, научный потенциал и практическую направленность инженерного образования Филиала. 👍 Участие в форуме стало важным шагом в укреплении международного научного сотрудничества, популяризации STEM-образования и продвижении Менделеевского филиала как центра подготовки инженеров нового поколения. 🚀 Коллектив Филиала продолжит активное участие в научных и международных мероприятиях, формируя будущее науки и технологий. ________________________________________ #MendeleevTashkent; #WomenInSTEM; #STEMUzbekistan; #STEMEducation; #ChemicalEngineering; #MendeleevSchool; #EngineeringEducation; #ScienceAndInnovation; #UzbekistanScience; #МенделеевскийФилиал; #МенделеевскаяШкола #ИнженерыБудущего; #РоссийскийУчительЗаРубежом; #Минпросвещения; #ЦМС; #РусскийЯзык Web-site | Telegram | Instagram | Facebook