@tuttoelezioni · Post #1582 · 22.03.2026 г., 17:02
#Germania🇩🇪 #Statali #RenaniaPalatinato 🗳 Urne chiuse per le elezioni statali nella Renania-Palatinato. @TuttoElezioni
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
Пребарај: #statali
@tuttoelezioni · Post #1582 · 22.03.2026 г., 17:02
#Germania🇩🇪 #Statali #RenaniaPalatinato 🗳 Urne chiuse per le elezioni statali nella Renania-Palatinato. @TuttoElezioni
@tuttoelezioni · Post #1574 · 22.03.2026 г., 09:33
#Germania🇩🇪 #Statali #RenaniaPalatinato ❓Come si vota nella Renania-Palatinato? Il Landtag (il Parlamento statale, ndr) si compone di almeno 101 membri eletti ogni 5 anni. Nello Stato federato gli elettori hanno a disposizione due voti: il primo è utilizzato per esprimere la preferenza in uno dei 52 collegi uninominali (sistema FPTP); il secondo è il voto che permette di determinare la quantità dei seggi che ogni lista avrà a livello statale. I seggi non assegnati con sistema FPTP sono quindi utilizzati per riequilibrare il risultato delle singole liste, riportando l'allocazione dei seggi alla proporzionalità dei voti ricevuti. È prevista una soglia di sbarramento del 5%. In foto: la Deutschhaus, sede del Landtag (Magonza). @TuttoElezioni
@tuttoelezioni · Post #1571 · 22.03.2026 г., 07:01
#Germania🇩🇪 #Statali #RenaniaPalatinato 🗳 Urne aperte per le elezioni statali nella Renania-Palatinato. Si voterà fino alle ore 18:00. @TuttoElezioni
@tuttoelezioni · Post #1531 · 09.03.2026 г., 07:27
#Germania🇩🇪 #Statali #BadenWürttemberg 🕕 Ore 18:00. Affluenza finale: 69,6% (+5,8% rispetto al 2021) @TuttoElezioni
@tuttoelezioni · Post #1523 · 08.03.2026 г., 17:02
#Germania🇩🇪 #Statali #BadenWürttemberg 🗳 Urne chiuse per le elezioni statali nel Baden-Württemberg. @TuttoElezioni
@tuttoelezioni · Post #1520 · 08.03.2026 г., 09:59
#Germania🇩🇪 #Statali #BadenWürttemberg ❓Come si vota nel Baden-Württemberg? Il Landtag (il Parlamento regionale) del Baden-Württemberg è eletto con sistema proporzionale misto. 70 membri sono eletti in collegi uninominali con sistema maggioritario a turno unico; i rimanenti vengono assegnati con un sistema proporzionale compensativo basato sul secondo voto, secondo il metodo Sainte-Laguë. Il Landtag si compone di almeno 120 seggi, ma possono essere aggiunti seggi di livellamento per garantire che il risultato finale delle liste sia proporzionale. La soglia di sbarramento è al 5% dei voti validi. In foto: La sede del Landtag (Stoccarda). @TuttoElezioni
@tuttoelezioni · Post #1519 · 08.03.2026 г., 07:01
#Germania🇩🇪 #Statali #BadenWürttemberg 🗳 Urne aperte per le elezioni statali nel Baden-Württemberg. Si voterà fino alle ore 18:00. @TuttoElezioni
@tuttoelezioni · Post #1553 · 21.03.2026 г., 07:30
#Australia🇦🇺 #Statali #AustraliaMeridionale 🗳 Urne chiuse per le elezioni statali nell'Australia Meridionale. @TuttoElezioni
@tuttoelezioni · Post #1552 · 20.03.2026 г., 22:00
#Australia🇦🇺 #Statali #AustraliaMeridionale ❓Come si vota nell'Australia Meridionale? Il Parlamento statale è suddiviso in due camere: l'Assemblea, con 47 membri, e il Consiglio legislativo, con 22 seggi. I membri dell'Assemblea sono eletti ogni 4 anni, tramite voto alternativo con preferenza; il territorio statale è suddiviso in 47 collegi, che eleggono ciascuno un deputato. I membri del Consiglio si rinnovano per una metà ogni 8 anni, in modo proporzionale e tramite voto singolo trasferibile. Il sistema di voto permette agli elettori di "classificare" i candidati, indicando un ordine di preferenza tra di essi. In foto: il Parlamento dell'Australia Meridionale (Adelaide). @TuttoElezioni
@tuttoelezioni · Post #1551 · 20.03.2026 г., 21:30
#Australia🇦🇺 #Statali #AustraliaMeridionale 🗳 Urne aperte per le elezioni statali nell'Australia Meridionale, dove sono le 08:00 di sabato 21 marzo. Si voterà fino alle ore 08:30 italiane (18:00 ora locale). @TuttoElezioni
@tuttoelezioni · Post #1562 · 21.03.2026 г., 11:32
#Australia🇦🇺 #Statali #AustraliaMeridionale Risultati parziali. Distribuzione dei seggi nell'Assemblea. 🟥 Partito Laburista (#ALP|Centro-sinistra): 35 ✅ 🟦 Partito Liberale (#Lib|Centro-destra): 8 ⬜️ Indipendenti: 4 Totale: 47 Maggioranza: 24 @TuttoElezioni
@tuttoelezioni · Post #1559 · 21.03.2026 г., 10:34
#Australia🇦🇺 #Statali #AustraliaMeridionale Risultati parziali. Distribuzione dei seggi nell'Assemblea. 🟥 Partito Laburista (#ALP|Centro-sinistra): 28 ✅ 🟦 Partito Liberale (#Lib|Centro-destra): 7 ⬜️ Indipendenti: 5 Da assegnare: 7 Totale: 47 Maggioranza: 24 @TuttoElezioni