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

Резултати

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

Пребарај: #databases

当前筛选 #databases清除筛选
Repositorio data science

@repo_science · Post #3374 · 30.06.2023 г., 14:57

#python#databases 🐍 Advanced Python: Working with multiple databases Description Build and connect Python Application to multiple databases 🔗Link ----- Main channel: @repo_science Coupons: @freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #3265 · 04.06.2023 г., 22:32

#python#databases 🐍 Advanced Python: Practical Database Examples Level up as a Python developer working with databases in this advanced, skills-based course. 🔗Link ----- Main channel:@repo_science Coupons: @freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #4219 · 20.10.2024 г., 21:14

#free#Databases 🎟 2024 Complete SQL Bootcamp from Zero to Hero in SQL 👥Students: 43024 ⭐️Ratings: 4.12 ⏳ 4.5 total hours 🌐 en_US 🗒 Limited coupons (639) 🎫 100% OFF - 💵0💲 ----- Coupons:@freecoupons_reposcience ----- ⭐️ This message was automated by 🔗n8n

Repositorio data science

@repo_science · Post #3381 · 03.07.2023 г., 00:51

#databases#SQL SQLBolt ¿Quieres aprender SQL de forma práctica y desde cero? SQLBolt es un recurso para devs con: ◆ Ejercicios interactivos y sencillos ◆ Ejemplos desde cero ◆ De SELECT a crear tus propias tablas ◆ 18 lecciones para aprender Es un recurso 100% gratuito. 🔗Link ----- Main channel: @repo_science Coupons: @freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #3322 · 19.06.2023 г., 22:42

#databases#sql 🛠 SQL Server 2022 Administration Description Looking to get up to speed with the latest features of SQL Server 2022? In this course, join database analyst and trainer Eric Johnson as he covers the fundamental skills, techniques, and tools required to manage SQL Server 2022 in any development environment, regardless of your current level of experience. Learn about the new features available in the latest version of SQL Server as well as how to provision and secure Azure databases, design SQL Server tables, and tune and optimize SQL to meet your own unique needs. Throughout the course, Eric explains the relevant concepts and methodologies of managing and automating SQL Server databases, showing you how to apply what you’ve learned in a series of ongoing visual demonstrations designed to help you get hands-on practice and start building more advanced skills. 🔗Link ----- Main channel:@repo_science Coupons:@freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #3402 · 07.07.2023 г., 00:57

#databases#MongoDB 💼 Learning MongoDB Get started with MongoDB. Learn how to use this popular nonrelational database to power your full-stack development workflow. ⏳2h 44m 🗣Justin Jenkins 🔗Link ----- Main channel:@repo_science Coupons: @freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #3423 · 11.07.2023 г., 14:22

#Python#databases#sql 🐍 Data Science Fundamentals with Python and SQL Description Data science is one of the hottest professions of the decade, and the demand for data scientists who can analyze data and communicate results to inform data driven decisions has never been greater. This Specialization from IBM will help anyone interested in pursuing a career in data science by teaching them fundamental skills to get started in this in-demand field. 🗣Coursera 🔗Link ----- Main channel:@repo_science Coupons:@freecoupons_reposcience -----

Repositorio data science

@repo_science · Post #3204 · 19.05.2023 г., 03:28

#databases#GraphQL 💾 Building Web APIs with GraphQL - The Complete Guide Become an expert in one of the most exciting web APIs framework with this practical, hands-on course 🔗Link ----- Main channel: @repo_science Coupons: @freecoupons_reposcience -----

GitHub Trends

@githubtrending · Post #14933 · 09.07.2025 г., 12:30

#go#databases#genai#llms#mcp The MCP Toolbox for Databases helps developers connect AI agents to databases more easily and securely. It simplifies the process by handling complex tasks like connection pooling and authentication, allowing you to integrate databases with AI agents using minimal code. This toolbox supports the Model Context Protocol (MCP), which standardizes how AI interacts with external tools. By using MCP Toolbox, you can automate database tasks, query databases using natural language, and generate context-aware code, all of which save time and improve development efficiency. https://github.com/googleapis/genai-toolbox

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