Advertisement
Guest User

Untitled

a guest
Jun 16th, 2017
492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. """
  2. Extend createsuperuser command to allow non-interactive creation of a
  3. superuser with a password.
  4.  
  5. Instructions:
  6.  
  7. mkdir -p path-to-your-app/management/commands/
  8. touch path-to-your-app/management/__init__.py
  9. touch path-to-your-app/management/commands/__init__.py
  10.  
  11. and place this file under path-to-your-app/management/commands/
  12.  
  13. Example usage:
  14.  
  15. manage.py create-superuser \
  16. --username foo \
  17. --password foo \
  18. --email foo@foo.foo
  19. """
  20. from django.contrib.auth.management.commands import createsuperuser
  21. from django.core.management import CommandError
  22.  
  23.  
  24. class Command(createsuperuser.Command):
  25. help = 'Create a superuser with a password non-interactively'
  26.  
  27. def add_arguments(self, parser):
  28. super(Command, self).add_arguments(parser)
  29. parser.add_argument(
  30. '--password', dest='password', default=None,
  31. help='Specifies the password for the superuser.',
  32. )
  33.  
  34. def handle(self, *args, **options):
  35. options.setdefault('interactive', False)
  36. database = options.get('database')
  37. password = options.get('password')
  38. username = options.get('username')
  39. email = options.get('email')
  40.  
  41. if not password or not username or not email:
  42. raise CommandError(
  43. "--email --username and --password are required options")
  44.  
  45. user_data = {
  46. 'username': username,
  47. 'password': password,
  48. 'email': email,
  49. }
  50.  
  51. self.UserModel._default_manager.db_manager(
  52. database).create_superuser(**user_data)
  53.  
  54. if options.get('verbosity', 0) >= 1:
  55. self.stdout.write("Superuser created successfully.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement