Skip to content

Instantly share code, notes, and snippets.

@ochui
Created December 30, 2018 10:59
Show Gist options
  • Save ochui/2e64098f6b1e98230fea52e05093ad82 to your computer and use it in GitHub Desktop.
Save ochui/2e64098f6b1e98230fea52e05093ad82 to your computer and use it in GitHub Desktop.
A simple Django snippet to generate unique username
from random import choice
from string import ascii_lowercase, digits
from django.contrib.auth import get_user_model
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:
//check if username already exist
get_user_model().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