import unicodedata import re # From Django def slugify(value): """ Converts to lowercase, removes non-word characters (alphanumerics and underscores) and converts spaces to hyphens. Also strips leading and trailing whitespace. """ value = re.sub(r'[^\w\s-]', '', value).strip() return re.sub(r'[-\s]+', '-', value)