Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
Appian CEO Challenges AI Industry to Prioritize Trust
Matt Calkins, CEO of Appian, has called on the AI industry to prioritize responsible development and trust. At a critical moment for AI, Calkins unveiled guidelines promoting data transparency, user consent, and respect for intellectual property.
"We must ensure AI flourishes by building trust," Calkins stated. His four principles include disclosing data sources, using private data with consent, anonymizing personally identifiable data, and compensating for copyrighted information. These steps aim to shift AI development from a data race to a trust race.
As AI faces increasing scrutiny, Calkins positions Appian as a leader in responsible AI, encouraging others to join this movement. Trust, he argues, will unlock AI's full potential and redefine industry success.
#AI#ResponsibleAI#DataPrivacy#Appian#TechLeadership
🚀 ICT WEEK UZBEKISTAN 2026
The future isn’t coming.
It’s being built — right here, right now.
This September, Tashkent becomes the meeting point of global innovation. Visionary leaders, fast-growing startups, top tech companies, policymakers, and international partners will gather to shape the next era of digital transformation in Central Asia and beyond.
🌍 Discover breakthrough technologies
🤝 Meet decision-makers and global partners
💡 Turn bold ideas into real projects
📈 Unlock new markets and opportunities
This is not just an event.
Whether you are a government leader, investor, entrepreneur, tech professional, or innovator —
ICT Week Uzbekistan is where you need to be.
✨ Why attend?
✔️ High-level networking with global tech leaders
✔️ Startup & innovation showcases
✔️ Strategic forums and policy dialogues
✔️ Investment and partnership opportunities
✔️ Access to the fast-growing Central Asian tech market
📍 Tashkent, Uzbekistan
📅 September 22–25, 2026
Be part of the conversations that will define your tomorrow.
Join ICT Week Uzbekistan 2026.
Let’s connect. Let’s collaborate. Let’s build the future — together.
#ICTWeekUzbekistan2026#ICTWeek#DigitalTransformation#Innovation#TechLeadership#CentralAsia#FutureIsNow#Uzbekistan
🚀 ICT WEEK UZBEKISTAN 2026
The future isn’t coming.
It’s being built — right here, right now.
This September, Tashkent becomes the meeting point of global innovation. Visionary leaders, fast-growing startups, top tech companies, policymakers, and international partners will gather to shape the next era of digital transformation in Central Asia and beyond.
🌍 Discover breakthrough technologies
🤝 Meet decision-makers and global partners
💡 Turn bold ideas into real projects
📈 Unlock new markets and opportunities
This is not just an event.
Whether you are a government leader, investor, entrepreneur, tech professional, or innovator —
ICT Week Uzbekistan is where you need to be.
✨ Why attend?
✔️ High-level networking with global tech leaders
✔️ Startup & innovation showcases
✔️ Strategic forums and policy dialogues
✔️ Investment and partnership opportunities
✔️ Access to the fast-growing Central Asian tech market
📍 Tashkent, Uzbekistan
📅 September 22–25, 2026
Be part of the conversations that will define your tomorrow.
Join ICT Week Uzbekistan 2026.
Let’s connect. Let’s collaborate. Let’s build the future — together.
#ICTWeekUzbekistan2026#ICTWeek#DigitalTransformation#Innovation#TechLeadership#CentralAsia#FutureIsNow#Uzbekistan
Trump Signs AI Development Plan
President Trump has signed an executive order to establish the U.S. as the world leader in AI. A 180-day deadline is set for creating an AI Action Plan aimed at strengthening America's global dominance in this field. Additionally, Trump has tasked his AI advisor to eliminate policies from the previous administration. This announcement was made during his speech at the World Economic Forum, affirming plans for leadership in AI and cryptocurrency.
For more details, check the full articles: Forklog News
#AI#Crypto#Policy#TechLeadership
#AI#Crypto#Policy#TechLeadership#Trump#Innovation#Economy#NationalSecurity#ExecutiveOrder#Davos#ActionPlan#America#FutureTech#Leadership#GlobalDominance
Market Trends Impact Developer Salaries
Developers face salary stagnation as the job market grows competitive. With more candidates than job openings, mid-senior professionals find job switches yield minimal salary increases. Becoming a tech lead is rare and corporations limit hiring senior candidates. Stability may lie in entrepreneurship or pet projects instead. Consider exploring these options for long-term financial health.
#JobMarket#DeveloperSalaries#Entrepreneurship#PetProject#IT#CareerGrowth#TechIndustry#EmploymentTrends#SalaryTrends#BusinessModel#Stability#Competition#JobSwitch#MidCareer#SeniorDevelopers#MarketAnalysis#ITCareers#FinancialPlanning#TechJobs#Startup#TechLeadership