Activité-Paranormale


Red devil Information

Publicité

Rechercher

Développement

Apportez vos talents de codeur !

Développer

Citations

Random quotation
Pour moi, à titre personnel, il est important de dire que je pense que les couples du même sexe doivent pouvoir se marier.
(Barack Obama)

Événements - 27 juin

Event Calendrier

Validation

Valid XHTML 1.0 Transitional Valid CSS!

Crystal ballTour de magie

AbductionPython - Générer des slugs pour vos URL

Pour des besoins de référencement, il devient indispensable de générer de belles URL.Voici un petit script Python (compatible avec la version 3.*) pour sluggifier vos URLs :

_punct_re = re.compile(r'[\t !’"#$%&\'()*\-/<=>?@\[\\\]^_`{|},.]+')

def slugify(text, delim=u'-'):
        """Generates an ASCII-only slug."""
        result = []
        for word in _punct_re.split(text.lower()):
                result.extend(unidecode(word).split())
        return str(delim.join(result))

On passe comme paramètre le titre d'un article (par exemple) que l'on veut voir apparaître dans l'URL. Ce script va remplacer tous les caractères spéciaux (accents, apostrophe,...) par de simples tirets et mettre la chaîne de caractères en minuscule.

Mettre la base de données à jour :

Si votre site est déjà lancé et que vous souhaitez stocker vos URLs dans votre base de données, vous pourrez utiliser le script suivant pour la mettre à jour :

from sqlalchemy import create_engine

engine = create_engine("postgresql+psycopg2://postgres:password@localhost:5432/flask")
connection = engine.connect()
result = connection.execute("SELECT * FROM article")

for row in result:
        query = "UPDATE article SET slug = '" + slugify(row['title']) + "' WHERE id = " + str(row['id'])
        connection.execute(query)
        print(query)

Post-scriptum :

Ce script s'inspire de la page "Generating slug".



Python


Publicité