Skip to content

Instantly share code, notes, and snippets.

@d1p
Forked from jcinis/gist:2866253
Created August 24, 2016 03:21
Show Gist options
  • Save d1p/e62f0d3c3366f2385cfbdf4bf8d745fc to your computer and use it in GitHub Desktop.
Save d1p/e62f0d3c3366f2385cfbdf4bf8d745fc 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