A tiny, secure, URL-friendly, unique string ID generator for Python. support in Django.
This project is actively maintained.
To install django-nanoid from pip:
$ pip install django-nanoid
To install nanoid from source:
$ git clone git@github.com:yosephbernandus/django-nanoid.git
$ cd django-nanoid && python setup.py install
Adding a NANOID field to your Django models is straightforward, default length is 21. Can adjust the length using max_length
from django.db import models
from django_nanoid.models import NANOIDField
class Post(models.Model):
id = NANOIDField(secure_generated=True, editable=False)
Passing this will automatically generate a unique identifier, with secure generated
from django.db import models
from django_nanoid.models import NANOIDField
class Post(models.Model):
post_identifier = NANOIDField(size=10, alphabetically='mnhjksloiwnhA..!@$$$!#', secure_generated=False)
Passing this will automatically generate a unique identifier, with non_secure_generated with custom alphabetically and length
If you would like to contribute, simply fork the repository, push your changes and send a pull request.
Pull requests will be brought into the master
branch via a rebase and fast-forward merge with the goal of having a linear branch history with no merge commits.
- Support nanoid prefix. Thanks lodye509!