Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python | |
| """ | |
| Script để tạo superuser cho Django Admin | |
| Chạy từ thư mục backend/hue_portal | |
| """ | |
| import os | |
| import sys | |
| import django | |
| # Thêm thư mục hue_portal vào path | |
| BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| HUE_PORTAL_DIR = os.path.join(BASE_DIR, 'hue_portal') | |
| sys.path.insert(0, HUE_PORTAL_DIR) | |
| os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'hue_portal.settings') | |
| django.setup() | |
| from django.contrib.auth.models import User | |
| def create_superuser(username='admin', email='admin@example.com', password='admin123'): | |
| """Tạo superuser nếu chưa có""" | |
| if User.objects.filter(username=username).exists(): | |
| user = User.objects.get(username=username) | |
| if user.is_superuser: | |
| print(f"✅ Superuser '{username}' đã tồn tại.") | |
| print(f" Username: {username}") | |
| print(f" Email: {user.email}") | |
| print(f"\n🌐 Truy cập Django Admin tại: http://localhost:8000/admin/") | |
| return True | |
| else: | |
| # Nâng cấp user thành superuser | |
| user.is_superuser = True | |
| user.is_staff = True | |
| user.set_password(password) | |
| user.save() | |
| print(f"✅ Đã nâng cấp user '{username}' thành superuser.") | |
| else: | |
| User.objects.create_superuser(username=username, email=email, password=password) | |
| print(f"✅ Đã tạo superuser mới:") | |
| print(f" Username: {username}") | |
| print(f" Email: {email}") | |
| print(f" Password: {password}") | |
| print(f"\n🌐 Truy cập Django Admin tại: http://localhost:8000/admin/") | |
| print(f"\n💡 Để start server: cd backend/hue_portal && POSTGRES_PORT=5433 POSTGRES_HOST=localhost python manage.py runserver") | |
| return True | |
| if __name__ == '__main__': | |
| import argparse | |
| parser = argparse.ArgumentParser(description='Tạo superuser cho Django Admin') | |
| parser.add_argument('--username', default='admin', help='Username (default: admin)') | |
| parser.add_argument('--email', default='admin@example.com', help='Email (default: admin@example.com)') | |
| parser.add_argument('--password', default='admin123', help='Password (default: admin123)') | |
| args = parser.parse_args() | |
| create_superuser(args.username, args.email, args.password) | |