Le Module Slugify En Python

1. A propos du module slugify

Le module slugify en Python est utilisé pour convertir une chaîne de caractères en un slug — c’est-à-dire une version "propre" et URL-friendly d’un texte. Ce genre de format est couramment utilisé dans les adresses URL de sites web pour représenter un titre d'article ou un nom de page.

Exemple de transformation

  1. Chaîne originale : "Les bases de Python : Cours #1 !"
  2. Résultat après slugification : "les-bases-de-python-cours-1"

2. Installation & usage

2.1 Installation

Il existe d'autres modules similaires comme slugify de Django ou awesome-slugify, mais ici nous parlons du module python-slugify.

2.2 Utilisation de base

3. Options disponibles du module slugify

Le module slugify propose plusieurs options via des arguments :

3.1 separator

Pour changer le séparateur (par défaut -) :

3.2 lowercase

Contrôle la conversion en minuscules :

3.3 max_length

Limite la longueur du slug :

3.4 only_ascii

Convertit les caractères non ASCII :

4. Principaux usages du module slugify

  • Génération d’URL pour les blogs ou les CMS
  • Nom de fichiers
  • Clés dans une base de données
  • Organisation de répertoires

Exemple complet

5. Exemple d’intégration dans un projet Flask ou Django

Au sein de Flask ou django, on a souvent besoin de slugifier une chaine de caractères pour générer une adresse url ou nom d'un fichier...Voici un exemple d'intégration du module slugify dans deux contextes : Flask et Django, pour générer un slug automatiquement à partir d’un titre d’article.

5.1 Exemple avec Flask

Supposons que vous créez un blog avec Flask, et vous voulez générer un slug pour chaque article lors de sa création.

Structure simplifiée:

app.py

5.2 Exemple avec Django

Dans un projet Django, on peut créer le slug automatiquement dans le modèle.

models.py

Le champ slug est généré automatiquement à partir du champ titre lors du save().

5.3 Exemple d’utilisation dans l’admin Django

Lorsque vous ajoutez un article avec le titre :

  • Apprendre Django en 10 jours !
  • Le slug généré sera :
  • apprendre-django-en-10-jours

5.4 Générer un slug unique en Django

Si vous voulez être sûr que le slug est unique, même si deux articles ont le même titre :




 

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply