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

Резултати

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

Пребарај: #license

当前筛选 #license清除筛选
秋城落叶InjectLib项目

@qiuchenlymac · Post #1056 · 01.12.2025 г., 09:58

借助AI辅助, 我很高兴的宣布, QiuChenStore将在下个迭代中正式推出Adobe产品安装、激活。 其中激活算法彻底重写,不再依赖于每个版本手动修补程序中的特定代码来尝试绕过激活,我们从底层实现了整套的RSA 以及 SHA256、SHA512加解密与使用来自QiuChenly生成的根证书来为每一个授权用户激活授权请求。 我们成功使用伪造的自签名根证书下发有效证书授权。 我还重写了整套Adobe产品安装系统。 现在不需要官方ACC,你可以随意最精简化安装所有App,而不必担心在您的Mac中随处产生文件。 选择一个文件夹,所有的Adobe数据全都存在于此。 您甚至可以把所有的Adobe App安装到移动硬盘中,一插一拔中随身带走你的adobe 软件、用户首选项、Adobe缓存和用户数据,这一切都基于QiuChenAdobe全新安装系统的魔法。 除此之外,我们还试图解决一个遗留已久的问题:神经滤镜(Neural filter)。 神经滤镜的模型、蒙版实际上是登录用户即可下载,而不必你真的拥有授权。目前来看是Adobe官方的逻辑Bug,因为Adobe产品使用之前必然需要授权许可,所以Adobe目前还没有采取行动来阻止下载。 现在我们可以手动从官网登录,复制token并设置到App中,App即可正常下载滤镜、更新蒙版。具体说明在讨论区原帖中有图例。 各产品适配进度请访问商店的Adobe产品区。 此外致谢: 一位匿名人士无偿提供的几乎不限量的sonnet 4.5 API 一位匿名人士无偿提供的不限量token cursor 账户 本算法完全基于美元烧出来的。 #Adobe#License

djangoproject

@djangoproject · Post #482 · 30.10.2017 г., 18:53

https://github.com/scottwoodall/django-react-template/blob/master/LICENSE scottwoodall/django-react-template is licensed under the #MIT#License A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

Hashtags

djangoproject

@djangoproject · Post #481 · 30.10.2017 г., 14:23

https://github.com/scottwoodall/django-react-template/blob/master/LICENSE scottwoodall/django-react-template is licensed under the #MIT#License A short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

Hashtags

djangoproject

@djangoproject · Post #598 · 24.04.2018 г., 02:56

https://github.com/Djeact/Djeact-RoadMap What is Djeact? The name of Djeact comes from the combination of Django and React. Django is a python web framework and React is a javascript library for building user interfaces. Djeact is a set of libraries which the backend is written by django and the UI is written with react. Following libraries have been written so far: Why #Djeact started? Why #Django was chosen for #backend? Why #React was chosen for #frontend? Why #MIT#License?

djangoproject

@djangoproject · Post #513 · 30.11.2017 г., 22:00

#AI#Artificial_Intelligence #AJAX #aiohttp #Anaconda #AngularJS #API #Atom #AWS #asyncio (#Asynchronous) #audio #automated_testing #automation #atexit #BeeWare #Big_Data #bitcoin #blockchain #Bluemix #Brython #button #Celery #client #class #classmethod #concurrency #Coroutine #cron #CSS #curl #data_analysis #data_mining #data_processing #database #Deep_Learning#deep_learning #Debian #decorator #deploy #dict #dispatch #django #django_cms #Django_REST_Framework #dropdownbox #Docker #event #Firefox #Flask #form #functions #Generator #GeoDjango #git #Google #GPU #GUI #Gym #host #HTML #httplib #learn #Image_processing #intelligence #input #Instagram #IOT #iPython #Jupyter #lambda #learn #License #Linux #lists #machine_learning #Magenta #map #Matplotlib #Metaprogramming #Micro_services #Micropython #mind #monitoring #MongoDB #modules #Mozilla #Multipart #multi_touch_apps #multiprocessing #Nodes #NoSQL #numeric_computation #numerical #NumPy #network #neural_network #OAuth #object_serialization #OCR #overloading #package #parallel #pipeline #protocols #PostGIS #pyAudioAnalysis #pycon #Pyflakes #PyInstaller #PyPI #PyQt #PySide #PyTorch #pytest #python #Pyvideo_archives #Qt #Raspberry_Pi #React #Redis #random #request #Regular_Expressions (#re) #REST #RSS #satellite #scikit_learn #SciPy #scrapy #searching #selectbox #Selenium #serialization #server #sessions #single_responsibility_principle #socket #Spark #str #submit #task #telegram #template #TensorFlow #test #text_boxes #text #tuples #unicode #Universe #Unix #unit_test #urllib #upload #uWSGI #Web #WSGI