Skip to content

A Django field that automatically generates random slugs.

License

Notifications You must be signed in to change notification settings

harrastia/django-randomslugfield

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#django-randomslugfield

Build Status Latest PyPI Version Number of PyPI downloads

Django field that automatically generates random slugs.

e.g. example.com/kEwD58P

##Getting it

You can get randomslugfield by using pip or easy_install:

$ pip install django-randomslugfield
or
$ easy_install django-randomslugfield

##Install

To enable randomslugfield in your project you need to add it to INSTALLED_APPS in your projects settings.py file:

INSTALLED_APPS = (
     ...
     'randomslugfield',
     ...
)

##Usage

Import RandomSlugField and use it in your model:

from django.db import models
from randomslugfield import RandomSlugField

class MyModel(models.Model):
    slug = RandomSlugField(length=7)

The length argument is required.

##Advanced Usage

By default randomslugfield generates its slug using these characters:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

You can optionally exclude lowercase/uppercase/digits/vowels using exclude_lower=True, exclude_upper=True, exclude_digits=True, exclude_vowels=True.

You cannot exclude all characters.

Example:

class MyModel(models.Model):
    slug = RandomSlugField(length=7, exclude_lower=True)

The total number of unique slugs is determined by characters^length.

e.g.

62^9 = 13,537,086,546,263,552 possible slugs
62^8 = 218,340,105,584,896 possible slugs
62^7 = 3,521,614,606,208 possible slugs
62^6 = 56,800,235,584 possible slugs
62^5 = 916,132,832 possible slugs

About

A Django field that automatically generates random slugs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published