from django.contrib.auth import get_user_model from django.core.management.base import BaseCommand, CommandError from rest_framework.authtoken.models import Token class Command(BaseCommand): help = "Erstellt oder gibt ein API-Token für einen Django-User aus (für Agent-Zugriff)" def add_arguments(self, parser): parser.add_argument("username", type=str, help="Django-Username") def handle(self, *args, **options): User = get_user_model() username = options["username"] try: user = User.objects.get(username=username) except User.DoesNotExist: raise CommandError(f'User "{username}" nicht gefunden.') token, created = Token.objects.get_or_create(user=user) if created: self.stdout.write(self.style.SUCCESS(f"Neues Token erstellt für {username}:")) else: self.stdout.write(self.style.WARNING(f"Bestehendes Token für {username}:")) self.stdout.write(token.key)