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

Резултати

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

Пребарај: #comidafamiliar

当前筛选 #comidafamiliar清除筛选
Recetas Deliciosas a lo González

@recetasdeliciosas · Post #658 · 13.03.2025 г., 16:23

🧆Albóndigas de Res y Chorizo con Salsa de Pimiento Asado🧆 Una receta fácil pero llena de sabor. Estas albóndigas combinan la jugosidad de la carne de res con el toque especiado del chorizo y una salsa de pimiento asado que realza su sabor. Perfectas para cualquier día de la semana sin complicaciones. Ingredientes (4 porciones) Para las albóndigas: 400 g de carne molida de res 100 g de chorizo (sin piel y desmenuzado) 1 huevo ¼ taza de pan rallado o avena molida 1 diente de ajo, picado ½ cucharadita de sal ½ cucharadita de pimienta negra ½ cucharadita de pimentón ahumado (opcional) 50 g de queso rallado (cheddar, mozzarella o el que tengas) Aceite para freír Para la salsa de pimiento asado: 1 pimiento rojo grande 1 diente de ajo ½ cucharadita de sal 1 cucharadita de azúcar (opcional) 1 cucharada de aceite de oliva 1 cucharada de crema de leche o yogur natural (opcional, para una textura más suave) Preparación Preparar las albóndigas 1. En un bol, mezcla la carne molida con el chorizo, el huevo, pan rallado, ajo, sal, pimienta y pimentón ahumado. Amasa hasta integrar bien. 2. Forma albóndigas medianas y pásalas ligeramente por el queso rallado para darles un toque extra de sabor. 3. En una sartén con un poco de aceite, cocina las albóndigas a fuego medio hasta que estén doradas por fuera y cocidas por dentro (aproximadamente 10 minutos). Preparar la salsa de pimiento asado 4. Asa el pimiento directamente sobre la hornilla o en una sartén hasta que la piel se queme un poco. Luego, pélalo y córtalo en trozos. 5. En una licuadora, mezcla el pimiento asado con el ajo, sal, azúcar, aceite de oliva y crema de leche (si usas). Tritura hasta obtener una salsa suave. Servir y disfrutar 6. Sirve las albóndigas con la salsa de pimiento por encima y acompaña con arroz, pan o una ensalada fresca. Consejos prácticos Si no tienes chorizo, usa solo carne de res y añade ½ cucharadita de pimentón ahumado para imitar el sabor. Si no quieres asar el pimiento, usa pimientos enlatados o pimientos cocidos al vapor. Puedes hacer la salsa más ligera usando solo yogur en lugar de crema de leche. Esta versión simplificada mantiene el sabor increíble de la receta original con menos pasos e ingredientes accesibles. ¡Ideal para hacer en casa sin complicaciones! #Carnes#PlatosFuertes#Casera#ComidaFamiliar