Skip to main content

A Django slugify application that guarantees uniqueness and handles unicode

Project description


A Django slugify application that guarantees uniqueness and handles unicode.
UUSlug = (``U``nique + ``U``code Slug)

Patches welcome:


A. Install django-uuslug:
* _ Make sure you have python 2.6+ and can install from pypi
1. easy_install django-uuslug
2. pip install django-uuslug
3. git clone
a. cd django-uuslug
b. run python
4. wget
a. unzip the downloaded file
b. cd into django-uuslug-* directory
c. run python

B. Test & contribute to django-uuslug: (for developers)
* _ git clone
a. cd into django-uuslug
b. run python
c. run bin/buildout -vvvvv
d. run bin/test

Unicode Test Example
from uuslug import uuslug as slugify

s = "This is a test ---"
r = slugify(s)
self.assertEquals(r, "this-is-a-test")

s = 'C\'est déjà l\'été.'
r = slugify(s)
self.assertEquals(r, "c-est-deja-l-ete")

s = 'Nín hǎo. Wǒ shì zhōng guó rén'
r = slugify(s)
self.assertEquals(r, "nin-hao-wo-shi-zhong-guo-ren")

s = '影師嗎'
r = slugify(s)
self.assertEquals(r, "ying-shi-ma")

Uniqueness Test Example
Override your object's save method with something like this (

from django.db import models
from uuslug import uuslug as slugify

class CoolSlug(models.Model):
name = models.CharField(max_length=100)
slug = models.CharField(max_length=200)

def __unicode__(self):

def save(self, *args, **kwargs):
self.slug = slugify(, instance=self)
super(CoolSlug, self).save(*args, **kwargs)


name = "john"
c = CoolSlug.objects.create(name=name)
self.assertEquals(c.slug, name) # slug = "john"

c1 = CoolSlug.objects.create(name=name)
self.assertEquals(c1.slug, name+"-1") # slug = "john-1"

clean up README
add more test and examples

This is a cleaned and packaged up version of snippet (369) from
Improved to handle unique slugs and unicode chars and packaged for easy install.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-uuslug, version 0.6
Filename, size File type Python version Upload date Hashes
Filename, size django-uuslug-0.6.tar.gz (3.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page