41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from django.core.management.base import BaseCommand
|
|
from django.contrib.auth import get_user_model
|
|
from getpass import getpass
|
|
|
|
class Command(BaseCommand):
|
|
help = 'Vytvoří superuživatele s is_active=True a potvrzením hesla'
|
|
|
|
def handle(self, *args, **kwargs):
|
|
User = get_user_model()
|
|
|
|
# Zadání údajů
|
|
username = input("Username: ").strip()
|
|
email = input("Email: ").strip()
|
|
|
|
# Heslo s potvrzením
|
|
while True:
|
|
password = getpass("Password: ")
|
|
password2 = getpass("Confirm password: ")
|
|
if password != password2:
|
|
self.stdout.write(self.style.ERROR("❌ Hesla se neshodují. Zkus to znovu."))
|
|
else:
|
|
break
|
|
|
|
# Kontrola duplicity
|
|
if User.objects.filter(username=username).exists():
|
|
self.stdout.write(self.style.ERROR("⚠️ Uživatel s tímto username už existuje."))
|
|
return
|
|
|
|
# Vytvoření uživatele
|
|
user = User.objects.create_superuser(
|
|
username=username,
|
|
email=email,
|
|
password=password
|
|
)
|
|
user.is_active = True
|
|
if hasattr(user, 'email_verified'):
|
|
user.email_verified = True
|
|
user.save()
|
|
|
|
self.stdout.write(self.style.SUCCESS(f"✅ Superuživatel '{username}' úspěšně vytvořen."))
|