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

Резултати

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

Пребарај: #laravel

当前筛选 #laravel清除筛选
Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #3129 · 12.03.2024 г., 15:02

#php#laravel 9-Dars | Validatsiya qoidalaridan foydalanish 🖤Darsni ko'rish uchun👇 https://youtu.be/ptZb8Rc8kpQ 💻@dasturlash_hayoti— dasturchilar va dasturlash hayotini yoritib boradigan loyiha!

Hashtags

Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #3144 · 16.03.2024 г., 00:20

#backend#laravel 11-Dars | Saytni Ko'p Tilli Qilish Ushbu darsda Saytdagi Statik va dinamik ma’lumotlarni ko’p tilli qilishni o'rganishingiz mumkin 🖤Darsni ko'rish uchun: link 💻@dasturlash_hayoti— dasturchilar va dasturlash hayotini yoritib boradigan loyiha!

ALL About RSS

@AboutRss · Post #1048 · 08.06.2021 г., 01:00

Coding 向 #教程 分享 第 1 期 英文,又有点多,就不逐一放送了,攒到一起: 1️⃣ 「How to Create Your Own Next.js RSS Reader App」 https://ashleemboyer.com/create-your-own-nextjs-rss-reader-app 2️⃣ 「Sorting RSS feeds by year using Next.js」 https://dev.to/inezabonte/sorting-rss-feeds-by-year-using-next-js-36gl 3️⃣「Adding videos duration to #YouTube RSS feed!」 https://sila.li/blog/youtube-video-duration-rss-feed/ 4️⃣「Transform #Notion into RSS reader. Part 2 — Multiple RSS endpoints」 https://medium.com/geekculture/transform-notion-into-rss-reader-part-2-multiple-rss-endpoints-de3406786845 5️⃣「How to create RSS Feed in #Laravel」 https://postsrc.com/posts/how-to-create-rss-feed-in-laravel 6️⃣ 「How to implement Json Feed in Laravel」 https://postsrc.com/posts/how-to-implement-json-feed-in-laravel

Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #4109 · 20.12.2025 г., 06:59

#Laravel#itmemes#dasturlash_hayoti 😂Boshlovchi va Laravel haqiqatlari 😄Boshlaganda: “Laravel oson ekan” 😐 1 hafta o‘tgach: “Controller qaysi papkada edi?” 😵2 hafta o‘tgach: “Bu route qayerdan ishlayapti o‘zi?” 📌 Xavotir olmang — hamma Laravel o‘rganuvchi shu bosqichdan o‘tadi😄 💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉

Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #3683 · 28.02.2025 г., 10:57

Laravel rasmiy sayti yangilandi! 🆕 2025-yil 24-fevral kuni Laravel 12 chiqishi bilan birga Laravel rasmiy sayti ham to'liq yangilandi! Yangiliklar: ✅ Yangi zamonaviy va intuitiv dizayn ✅ Laravel ekotizimi to'liq aks ettirilgan ✅ Boshlang'ich to'plamlar va vositalarga tezkor kirish ✅ Ishlash tezligi va UX yaxshilandi 🌐 Yangi saytda Laravel 12 hujjatlari va boshqa foydali ma'lumotlarni oson topishingiz mumkin! 🔗 Ko'rish uchun:laravel.com Laravel yangiliklarini kuzatib boring va loyihalaringizni yanada samarali qiling! #Laravel#Yangiliklar#WebDasturlash🚀 💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅

Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #4108 · 20.12.2025 г., 06:45

#Laravel#backend#webdev#dasturlash_hayoti Laravel nima uchun qulay? Laravel — backend’ni tez va tartibli qilish uchun yaratilgan framework. Quyida nega ko‘pchilik Laravel’ni tanlashini oddiy tilda tushuntiramiz 👇 1️⃣MVC arxitektura ⏺️Model — ma’lumotlar bilan ishlaydi ⏺️View — foydalanuvchi ko‘radigan qism ⏺️Controller — logika 📌 Kod aralashib ketmaydi, tushunish oson bo‘ladi. 2️⃣Tayyor Auth (login/register) ⏺️Login ⏺️Ro‘yxatdan o‘tish ⏺️Parolni tiklash 📌 Noldan yozishga hojat yo‘q — vaqt tejaladi. 3️⃣Xavfsizlik ⏺️SQL Injection’dan himoya ⏺️CSRF himoyasi ⏺️XSS’ga qarshi choralar 📌 Xavfsizlik Laravel’da avtomatik ko‘p joyda bor. 4️⃣Toza va o‘qilishi oson kod ⏺️Aniq struktura ⏺️Naming qoidalari ⏺️Clean code’ga mos 📌 Bir necha oy o‘tsa ham kodni tushunish mumkin. 5️⃣ Tez ishlab chiqish ⏺️Migration ⏺️Seeder ⏺️Artisan komandalar 📌 Kam vaqt — katta natija. Laravel: ☑️ Boshlovchilar uchun qulay ☑️ Professional loyihalar uchun kuchli ☑️ Katta jamoalar uchun mos 📌 Backend uchun eng zo‘r tanlovlardan biri. 💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉

每日 AWESOME 观察

@awesomeopensource · Post #151 · 01.08.2018 г., 16:12

laravel-s 又一个 Laravel 使用 swoole 扩展提高性能的项目 特性 高性能的Swoole 内置Http/WebSocket服务器 常驻内存 异步的事件监听 异步的任务队列 平滑Reload 代码修改后自动Reload 同时支持Laravel与Lumen,兼容主流版本 简单,开箱即用 Tags: #swoole#laravel#lumen#async Languages:#php 感谢 @iVanilla 的投稿

Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #3275 · 18.05.2024 г., 16:23

#tekin#dars#backend#php#laravel#boshlangich Laravel framework bo'yicha boshlang'ich bepul darslar ro'yxati ▶️1-Dars Laravel Framework Bepul Darslari | Loyiha Maketini O'rnatish ▶️2-Dars Laravel Framework Darslari | Baza Yaratish va Boshqarish ▶️3-Dars Laravel Framework Darslari | Admin Panel Maketini O'rnatish ▶️4-Dars | Login Qismini O'rnatish | Laravel Framework Bepul Darslari ▶️5-Dars | Bazaga ma'lumot yozish: Create | Laravel Framework Bepul Darslari ▶️6-Dars | Ma'lumotni sahifaga chiqarish | Laravel Framework Bepul Darslari ▶️7-Dars | Bazadan Ma’lumotni O’zgartirish: Update | Laravel Framework Bepul Darslari ▶️8-Dars | Bazadan Ma’lumotni O’chirish: Delete | Laravel Framework Bepul Darslari ▶️9-Dars | Validatsiya Qoidalaridan Foydalanish | Laravel Framework Bepul Darslari ▶️10-Dars | Logout. Pagination | Laravel Framework Bepul Darslari ▶️11-Dars | Saytni Ko’p Tilli Qilish | Statik va Dinamik Ma’lumotlarni Ko’p Tilli Qilish 💻@jonibek_turapov — bilan yuqori kelajak sari