12345678910111213141516171819202122232425262728 |
- # -*- coding: utf-8 -*-
- try:
- from django.contrib.auth.base_user import BaseUserManager
- except ImportError:
- from django.contrib.auth.models import BaseUserManager
- from django.core.management.base import BaseCommand
- from django_extensions.management.utils import signalcommand
- class Command(BaseCommand):
- help = "Generates a new password that can be used for a user password. This uses Django core's default password generator `BaseUserManager.make_random_password()`."
- requires_system_checks = False
- def add_arguments(self, parser):
- parser.add_argument(
- '--length', nargs='?', type=int,
- help='Password length.')
- @signalcommand
- def handle(self, *args, **options):
- length = options['length']
- manager = BaseUserManager()
- if length:
- return manager.make_random_password(length)
- else:
- return manager.make_random_password()
|