Skip to content

Instantly share code, notes, and snippets.

@silpol
Forked from jcinis/gist:2866253
Created November 21, 2017 20:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save silpol/57ea5d88641543d48302ff321d09ef6e to your computer and use it in GitHub Desktop.
Save silpol/57ea5d88641543d48302ff321d09ef6e to your computer and use it in GitHub Desktop.
Generate a random username for Django
from random import choice
from string import ascii_lowercase, digits
from django.contrib.auth.models import User
def generate_random_username(length=16, chars=ascii_lowercase+digits, split=4, delimiter='-'):
username = ''.join([choice(chars) for i in xrange(length)])
if split:
username = delimiter.join([username[start:start+split] for start in range(0, len(username), split)])
try:
User.objects.get(username=username)
return generate_random_username(length=length, chars=chars, split=split, delimiter=delimiter)
except User.DoesNotExist:
return username;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment