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

Резултати

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

Пребарај: #jifar

当前筛选 #jifar清除筛选
JIFAR CAREER

@JIFAR1 · Post #176 · 19.06.2025 г., 05:25

🎓✨ CONGRATULATIONS! ✨🎓 To all Jimma University students who passed the exit exam and will graduate this Saturday! 🌟 Your hard work and determination have led to this proud moment. Wishing you a future full of success, peace, and new beginnings! 🌍🎉 #JIFAR CAREER

Hashtags

JIFAR CAREER

@JIFAR1 · Post #172 · 06.06.2025 г., 06:10

እንኳን ለዒድ አል-አድሃ (አረፋ) በዓል አደረሳችሁ! በፍቅር፣ በደስታ እና በአብሮነት የሚያከብሩት መልካም የዒድ አል-አድሃ (አረፋ) በዓል እንዲሆንልዎ ከልብ እንመኛለን! ዒድ ሙባረክ! #Jifar Carreer

Hashtags

JIFAR CAREER

@JIFAR1 · Post #161 · 08.05.2025 г., 16:33

🎯የ12ኛ ክፍል ሀገር አቀፍ ፈተና የሚሰጥበት ቀን ይፋ ሆነ። ሚያዝያ 21፣ 2017 የ2017 የትምህርት ዘመን የኢትዮጵያ ሁለተኛ ደረጃ ትምህርት ማጠናቀቂያ (12ኛ ክፍል) ፈተና የሚሰጥበት ቀን ይፋ ሆኗል። በበይነ መረብ (ኦንላይን) እና በዩኒቨርሲቲ ውስጥ በወረቀት እንደሚሰጥ የትምህርት ምዘናና ፈተናዎች አገልግሎት መረጃ ያመላክታል፡፡ ስለሆነም ተፈታኞች እና የሚመለከታቸው ሁሉ ተገቢውን ዝግጅት እንዲያደርጉ አገልግሎቱ አሳስቧል። #JIFAR CARRER

Hashtags

JIFAR CAREER

@JIFAR1 · Post #144 · 29.03.2025 г., 19:45

Eid Mubarak! ✨ May this special day bring you joy, peace, and countless blessings. Wishing you and your loved ones happiness, prosperity, and togetherness. Enjoy the festivities and spread kindness! 🌙💙 #JIFAR CARRER

Hashtags

JIFAR CAREER

@JIFAR1 · Post #114 · 27.01.2025 г., 10:21

For those of you who find creativity challenging, try this ✨ Team up with someone who has similar goals or works on related projects. Their ideas and experiences might open new doors and inspire fresh solutions. Collaboration can increase your creativity and lead to amazing results—give it a try! 👊 #JIFAR TUTOR @JifarSupport

Hashtags

JIFAR CAREER

@JIFAR1 · Post #41 · 17.08.2024 г., 09:03

Honoring and Memorizing this photo☺️😊 ## JIFAR TUTOR:Unleash Your Potential, Embrace the JImma Aba Jfar Legacy JIFAR TUTOR:Where History Inspires Your Future > At JIFAR TUTOR, we're dedicated to bringing history to life, inspiring students to unlock their own potential and shape their own futures. > Our Legacy > * Student Spotlight Series: Hear from real students who are finding their own voices and shaping their own destinies, inspired by JImma Aba Jfar's example. > * "Beyond the Textbook" Experiences: Explore local historical sites, connect with experts, and delve deeper into JImma Aba Jfar's legacy through real-world experiences. > With JIFAR TUTOR, you'll: > * Develop essential skills for success in the 21st century: critical thinking, communication, and problem-solving. > * Discover your own leadership potential and find inspiration for creating positive change. 📝Visit Our channels: @JIFAR1 🛎Call 24/7':@JifarSupport 0953484398 #JIFAR TUTOR #JIFAR TUTOR

Hashtags

JIFAR CAREER

@JIFAR1 · Post #164 · 11.05.2025 г., 08:20

❤️ እናትነት የሕይወት ዘመን መስዋእትነት፣ ከፍለን የማንጨርሰው ውለታ ለዋሉልን ብርቱ እናቶቻችን በሙሉ ✨ መልካም የእናቶች ቀን! #HappyMothersDay #JIFAR CARRER

JIFAR CAREER

@JIFAR1 · Post #95 · 12.12.2024 г., 10:25

New Job opening‼️ 🎆We are Jifar Tutor🎆 ✍️Place: Tshire ✍️Student: Grade 11 ✍️Duration: 4 or 3 in a week ✍️Salary: monthly by Agreement ✍️#Females apply for this job ✍️ Subject All 📖We need punctual and who have excellent professional ethics and applicants for this position. #Jifar HomeTutor #ጅፋር#ቤትለቤት(Online) #አስጠኚ #በፈለጉን#ሁሉ#አለን! # #የልጅዎ#እና#የርስዎ#ቀዳሚ#አጋር! በዚህ ያናግሩን @JifarSupport 🎆 Jifar Tutor your choice🎆 ከታች ያለዉን የቴሌግራም ቻናላችን ይቀላቀሉ 👉@Jifar1 ✅Job status - CLOSED‼️

JIFAR CAREER

@JIFAR1 · Post #87 · 26.11.2024 г., 05:48

NewJobopening (REPOSTED) ‼️ 🎆WeareJifarTutor🎆 ✍️Place:Ferenjarada(MonetHotel) ✍️Student:Grade9and11 ✍️Duration:4or3inaweek ✍️Salary:monthly 🔓3000 ETB ✍️#Femalesapplyforthisjob ✍️SubjectAll 📖Weneedpunctualandwhohaveexcellentprofessionalethicsandapplicantsforthisposition. #JifarHomeTutor#ጅፋር#ቤትለቤት(Online) #አስጠኚ #በፈለጉን#ሁሉ#አለን! # #የልጅዎ#እና#የርስዎ#ቀዳሚ#አጋር! በዚህያናግሩን@JifarSupport 🎆JifarTutoryourchoice🎆 ከታችያለዉንየቴሌግራምቻናላችንይቀላቀሉ 👉@Jifar1 ✅Jobstatus - CLOSED‼️

JIFAR CAREER

@JIFAR1 · Post #82 · 20.11.2024 г., 19:15

NewJobopening‼️ 🎆WeareJifarTutor🎆 ✍️Place:Mars Kuxr4 Gumruk akababi(Sayders) ✍️Student:2 Grade 6 Students and Grade9 (3 STUDENTS) ✍️Duration:4or3inaweek ✍️Salary:monthly 🔓3000 ETB and above(Agreement) ✍️#Femalesapplyforthisjob ✍️SubjectAll 📖Weneedpunctualandwhohaveexcellentprofessionalethicsandapplicantsforthisposition. #JifarHomeTutor#ጅፋር#ቤትለቤት(Online) #አስጠኚ #በፈለጉን#ሁሉ#አለን! # #የልጅዎ#እና#የርስዎ#ቀዳሚ#አጋር! በዚህያናግሩን@JifarSupport 🎆JifarTutoryourchoice🎆 ከታችያለዉንየቴሌግራምቻናላችንይቀላቀሉ 👉@Jifar1 ✅Jobstatus - CLOSED‼️

JIFAR CAREER

@JIFAR1 · Post #81 · 20.11.2024 г., 18:45

NewJobopening‼️ 🎆WeareJifarTutor🎆 ✍️Place:Ferenjarada(MonetHotel) ✍️Student:Grade9and11 ✍️Duration:4or3inaweek ✍️Salary:monthly 🔓3000 ETB ✍️#Femalesapplyforthisjob ✍️SubjectAll 📖Weneedpunctualandwhohaveexcellentprofessionalethicsandapplicantsforthisposition. #JifarHomeTutor#ጅፋር#ቤትለቤት(Online) #አስጠኚ #በፈለጉን#ሁሉ#አለን! # #የልጅዎ#እና#የርስዎ#ቀዳሚ#አጋር! በዚህያናግሩን@JifarSupport 🎆JifarTutoryourchoice🎆 ከታችያለዉንየቴሌግራምቻናላችንይቀላቀሉ 👉@Jifar1 ✅Jobstatus - OPEN‼️

12
ПретходнаСтраница 1 од 2Следна