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)