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

Резултати

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

Пребарај: #lunch

当前筛选 #lunch清除筛选
Dishes.Cooking.Food

@cookingdish · Post #191 · 04.11.2023 г., 06:02

Crepes Chicken with White Sauce! 😋 Ingredients: For the Crepes: * 1 cup Flour * 2 Eggs * 2 cups Milk * 1/4 tsp Salt * 2 tbsp Butter (melted) For the Chicken Filling: * 2 Chicken breasts * 1 tbsp Olive oil * 1/2 Onion * 1/2 Green bell pepper * 1/2 Red bell pepper * 1/2 Yellow bell pepper * 1/2 Orange bell pepper * 2 cloves Garlic * 1/2 tsp Dried thyme * 1/2 tsp Dried oregano * 1/2 tsp Paprika * 1/2 tsp Smoked paprika * 1/2 tsp Salt * 1/4 tsp Black pepper * 1/2 cup White sauce * 1/2 cup Mozzarella cheese For White Sauce: * 2 tbsp Butter * 2 tbsp Flour * 2 cups Milk * 1/4 tsp Salt * 1/4 tsp Black pepper #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #183 · 31.10.2023 г., 06:02

Stuffed Mini Peppers! 🌶🌶🌶 Ingredients: * 800 g. Mini sweet peppers * 300 g. Ground beef * 150 g. Ground pork * 1/2 cup Rice * 1 Onion * 2 Carrot * Parsley * Salt/Pepper * 1 cup of Water * 1/4 tsp Cayenne pepper * 1 tbsp Sugar * 500 ml. Tomato Juice #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #171 · 25.10.2023 г., 05:01

🍜Miso Ramen Bowl! 🍜 Ingredients: * Baby Bella mushrooms a handful * 1 Carrot * 2 Green onion * Bean sprouts * 1 Boiled egg (soft or medium-boiled) * 2 tbsp Miso paste * 200 g. Ramen noodles * 2-3 Baby Bok choy (halved) * 2 Fried chicken thighs marinated in (Garlic, Ginger, Soy Sauce, Sesame Oil, Mirin) Sauce #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #145 · 10.10.2023 г., 05:02

Creamy Salmon Chowder!🍲 Ingredients: * 700 g. Salmon fillet, skinless, cut into chunks * 2 Potatoes, diced * 3 Celery stalks, chopped * 1 cup Yellow corn * 1 Jalapeño pepper * 1 bunch Scallions * 1 Onion finely chopped * 3 Garlic cloves, minced * 1 tbsp Cornstarch * 1 qt Chicken or vegetable broth * 1 cups Heavy cream * 3 slices Bacon * 2 tbsp Butter * Salt and black pepper: to taste #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #127 · 26.09.2023 г., 05:02

Cabbage Rolls! 🥬🥬🥬 Ingredients: * 1 Cabbage (10-12 leaves) * 1/4 cup Jasmine rice * 1 Carrot * 1/2 Onion * 1/2 Bunch of scallions * 1 g. Fresh ginger * 3 Cloves of garlic * 1/2 Chili pepper * 1/4 cup Soy sauce * 400 g. Mushrooms * Sesame seeds * Salt/Pepper to taste Sauce: * 1 tsp Sesame oil * 1 tsp Chili pepper * 1/2 tbsp Ginger minced * 1 Cloves minced garlic * 2 tbsp Tamari * 1 tbsp Rice vinegar * 1 tsp Maple syrup * 1/2 cup (120 ml) Water * 1/2 tbsp Cornstarch #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #99 · 12.09.2023 г., 05:02

Gazpacho! 🍅🍅🍅 Ingredients: * 2 Medium tomatoes * 1/4 large cucumber * 1/4 Green pepper * 1/5 Medium red onion * 2 Cloves of garlic * 1 Slice ciabatta * 2 tbsp Olive oil * 1 tbsp Red wine vinegar * Salt/Pepper to taste #lunch @dishes

Hashtags

Dishes.Cooking.Food

@cookingdish · Post #98 · 11.09.2023 г., 05:02

Zesty and Zingy The Art of Flavor Fusion, Orange Ginger Chicken Magic!🍊 Ingredients: * 2-3 Chicken breasts * 1/4 cup Fresh orange juice * 1/3 cup Orange ginger sauce * 2 tbsp Soy sauce * 1 tbsp Grated ginger * 2 Cloves garlic * 1 tbsp Honey * 1 tbsp Chili sauce * 1/2 tsp Orange zest * Salt and pepper * 2 tbsp Vegetable oil * 1/3 cup Chicken broth * Broccoli florets * Sliced green onions for garnish #lunch @dishes

Hashtags

美食素材圈

@meishi_sucai · Post #22856 · 27.02.2026 г., 07:36

#午饭#做饭#三文鱼#Lunch#Cooking#Salmon ➖➖➖➖➖➖➖➖ 📚【话术需求区】点击.... 👄【深夜小电影】点击.... 🧑🏼‍🦰【人设套图区】点击.... 🔞【人设私密照】点击.... 👨‍🎨【绘画频道区】点击.... 🛵【 跑腿代购 】点击.... 👉广告投放

Lunch ~ будние дни с 12:00 до 16:00 ⌚️24/7 📍Новый Арбат, 15 📲+79773541515 #афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#lunch

Время обеда с 12:00 ~ 16:00 по будням! В этот промежуток каждый сможет насладиться не только вкусными блюдами, но и атмосферой дружелюбия и уюта ⌚️24/7 📍Новый Арбат, 15 📲+79773541515 #афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#lunch#food

Пора сделать паузу, вырваться из рутинного водоворота дел. Ждем вас в МТ 😍 ⌚️24/7 📍Новый Арбат, 15 📲+79773541515 #афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#instamoscow#music#концерты#lunch#foods

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