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

Резултати

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

Глобално пребарување

djangoproject

@djangoproject · Post #454 · 03.10.2017 г., 15:43

https://engineering.instagram.com/web-service-efficiency-at-instagram-with-python-4976d078e366 Web Service Efficiency at Instagram with Python #Instagram currently features the world’s largest deployment of the #Django web framework, which is written entirely in #Python. We initially chose to use Python because of its reputation for simplicity and practicality, which aligns well with our philosophy of “do the simple thing first.” But simplicity can come with a tradeoff: efficiency...

djangoproject

@djangoproject · Post #572 · 09.02.2018 г., 10:46

https://medium.com/django-musings/customizing-the-django-admin-site-b82c7d325510 Customizing the #Django#Admin site Let’s start by saying that Django’s admin site is spectacular. It can literally save you months of work, but having said that, one thing that one needs to understand is that Django’s admin site is only ok as an internal tool. It is not, and never has been intended to be, an end user tool.

djangoproject

@djangoproject · Post #511 · 29.11.2017 г., 13:59

http://www.djangocrew.com/blog/payment-gateway-stripe-django/ Stripe #Payment gateway integration in #Django. What is Stripe payment gateway? Stripe builds a set of products that make it extremely easy to start and operate an online business. At the core of this is payment processing. However, many other adjacent utilities come into play.

Repositorio data science

@repo_science · Post #3191 · 15.05.2023 г., 17:34

#Python#Django#PostgreSQL 🐍 Building Web Applications with Django and PostgreSQL This course is designed to provide you with a comprehensive understanding of how to develop web applications using the Django web framework in combination with the PostgreSQL database. Django is a popular web framework written in Python that allows developers to build robust and scalable web applications quickly and efficiently, while PostgreSQL is a powerful open-source relational database management system known for its reliability and performance. 📅 4/2023 🔗Link ----- Main channel: @repo_science Coupons: @freecoupons_reposcience -----

djangoproject

@djangoproject · Post #427 · 30.08.2017 г., 03:37

What happens when you #save within #django? 1- Emit a pre-save signal. 2- Preprocess the data. 3- Prepare the data for the database. 4- Insert the data into the database. 5- Emit a post-save signal.

Hashtags

AIGC

@aigcrubbish · Post #22 · 07.03.2025 г., 02:35

Django 发布了安全更新,修复了 CVE-2025-26699 漏洞。该漏洞存在于 `django.utils.text.wrap()` 和 `wordwrap` 模板过滤器中,可能导致拒绝服务攻击(DoS),特别是在处理非常长的字符串时。漏洞的严重性被评定为“中等”。 受影响的 Django 版本包括: - Django 主分支 - Django 5.2(预发布测试版) - Django 5.1 - Django 5.0 - Django 4.2 修复补丁已应用于上述版本的分支,用户可以通过提供的链接获取补丁。建议所有 Django 用户尽快升级到以下版本: - Django 5.1.7 - Django 5.0.13 - Django 4.2.20 安全问题的报告应通过私密邮件发送至 `[email protected]`,详细信息请参考 Django 的安全政策。 原文链接:https://www.djangoproject.com/weblog/2025/mar/06/security-releases/ #Django#安全漏洞#CVE-2025-26699 #DoS #AIGC

Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #3657 · 03.02.2025 г., 10:29

5 ta eng mashhur Python kutubxonasi Python dasturlash tili kuchli kutubxonalar bilan mashhur. Quyida eng ommabop va keng qo‘llaniladigan 5 ta Python kutubxonasi bilan tanishing. 🔹1. TensorFlow –🔗Rasmiy sayt – Google va Brain jamoasi tomonidan ishlab chiqilgan mashinaviy o‘rganish (ML) kutubxonasi. – Katta hajmdagi ma’lumotlar bilan ishlash va neyron tarmoqlarni yaratish imkonini beradi. 🔹2. Keras –🔗Rasmiy sayt – Mashinaviy o‘rganish uchun eng qulay va kuchli kutubxonalardan biri. – Neyron tarmoqlarni yaratish va o‘qitish uchun sodda API taqdim etadi. 🔹3. NumPy – 🔗Rasmiy sayt – Sonli hisob-kitoblar va massivlar bilan ishlash uchun ishlatiladi. – TensorFlow va boshqa ML kutubxonalari NumPy’dan foydalanadi. 🔹4. Scikit-learn –🔗Rasmiy sayt – Ma’lumotlarni tahlil qilish va mashinaviy o‘rganish uchun eng mashhur kutubxonalardan biri. – NumPy va SciPy asosida yaratilgan. 🔹5. Django –🔗Rasmiy sayt – Veb-saytlar yaratishni tezlashtiradigan kuchli Python kutubxonasi. – Kamroq kod bilan ko‘proq ish bajarish imkonini beradi. 🚀Qaysi kutubxonadan foydalanasiz? Izohlarda fikringizni qoldiring! #Python#Django#MachineLearning#Numpy 💻@dasturlash_hayoti— dasturchilar hayoti va dasturlash olami haqida!

djangoproject

@djangoproject · Post #406 · 06.08.2017 г., 08:23

http://docs.graphene-python.org/projects/django/en/latest/tutorial-plain/ #Graphene has a number of additional features that are designed to make working with #Django really simple. Our primary focus here is to give a good understanding of how to connect models from Django ORM to graphene object types.

123456•••910
ПретходнаСтраница 4 од 10Следна