@BNBCHAIN · Post #3972 · 13.11.2024 г., 08:41
Save on your rides during #DevCon2024! 🚕 Get your first ride free & 50% off after your free ride by using $USDT, $FDUSD or $USDC on BNB Chain by using the TADA mini app!
Hashtags
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
Пребарај: #devcon2024
@BNBCHAIN · Post #3972 · 13.11.2024 г., 08:41
Save on your rides during #DevCon2024! 🚕 Get your first ride free & 50% off after your free ride by using $USDT, $FDUSD or $USDC on BNB Chain by using the TADA mini app!
Hashtags
@DWFLabs · Post #965 · 18.11.2024 г., 10:27
DWF Ventures had a great time at #Devcon2024. Keep reading to get an overview on some key takeaways from their team 👇 Market sentiment is shifting positively as the results of the U.S. Election have resulted in increased confidence in the crypto market. Projects are in a good place to enjoy better price discovery after $BTC hit an all time high. Altcoins and memecoins are both vying for retail trading liquidity, and the rise of memecoins showcases a more community-driven crypto cycle coming. #Devcon2024 was a sign of increased crypto activity in Bangkok, and some main narratives were DeSci, AI agents, DeFi, and memes, with a new Ethereum proposal mentioned at the conference as well. To read the full recap, click here: https://x.com/DWFVentures/status/1858445960374084049 The team at DWF Ventures is looking to invest in innovative projects — if you are building, reach out to their team at dwf-labs.com/ventures🤝
Hashtags
@DWFLabs · Post #959 · 14.11.2024 г., 07:32
Excited to be one of the cohosts alongside Cypher Capital, 1inch, and Kava Chain at #Devcon2024🔥 Lingling Jiang, the Partner of DWF Labs, shared more on what's ahead for DWF Labs at this meet up 🙌 Thank you to everyone who came to the event. We look forward to seeing you at our next event ✨️
Hashtags
@DWFLabs · Post #958 · 13.11.2024 г., 02:52
Happening tomorrow at 1:15PM GMT+7 — Lingling Jiang, Partner of DWF Labs, will be sharing insights about what's coming up in DWF Labs' journey 🔥 Register for the event "Bridging Worlds: DeFi & VC Innovation Meetup" to listen to her speech: https://lu.ma/CypherCapital1inchDWFLabsKAVA We're excited to be hosting alongside Cypher Capital, 1inch, and Kava Chain during #Devcon2024. See you there!
Hashtags
@DWFLabs · Post #956 · 12.11.2024 г., 04:35
During Korea Blockchain Week in September, Lingling Jiang, Partner of DWF Labs, shared about our vision and what's coming in the future. This week, she'll be sharing more insights about our journey and initiatives during the event "Bridging Worlds: DeFi & VC Innovation Meetup" at #Devcon2024🔥 We are co-hosting the event alongside Cypher Capital, 1inch, and Kava Chain🤝 Register here: https://lu.ma/CypherCapital1inchDWFLabsKAVA
Hashtags
@DWFLabs · Post #955 · 12.11.2024 г., 01:15
GM Bangkok! 🇹🇭 Our team is excited for #Devcon2024, and we are looking forward to connecting with you this week. Make sure to say hello when you spot us — we're thrilled to meet you all 🔥
Hashtags
@uxlink_community · Post #33 · 11.11.2024 г., 09:19
We are on the same page @VitalikButerin for "account abstraction". "One Account, One Gas" on #UXLINK Social Growth Layer. #Devcon2024#Bangkok
Hashtags