User creation management commands

This commit is contained in:
Harry Bridge
2018-02-28 16:10:18 +00:00
parent 37d5ecf89a
commit 680570696c
3 changed files with 26 additions and 0 deletions

0
management/__init__.py Normal file
View File

View File

View File

@@ -0,0 +1,26 @@
from django.core.management.base import BaseCommand, CommandError
from django.contrib.auth.models import User
from django.conf import settings
class Command(BaseCommand):
help = 'Creates a super user'
def handle(self, *args, **options):
if not (settings.DEBUG or settings.STAGING):
raise CommandError('You cannot run this command in production')
self.create_user_object('super', True, True)
self.create_user_object('staff', True)
self.create_user_object('basic')
def create_user_object(self, name, staff=False, superuser=False):
user, created = User.objects.get_or_create(
username=name, defaults={'email': '{}@{}.com'.format(name, name),
'first_name': name.title(), 'last_name': 'User', 'is_superuser': superuser,
'is_staff': staff})
if created:
user.set_password(name)
user.save()