davidtran999's picture
Push full code from hue-portal-backend folder
519b145
raw
history blame
2.32 kB
#!/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)