|
|
|
|
|
""" |
|
|
Script để tạo superuser cho Django Admin |
|
|
Chạy từ thư mục backend/hue_portal |
|
|
""" |
|
|
import os |
|
|
import sys |
|
|
import django |
|
|
|
|
|
|
|
|
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: |
|
|
|
|
|
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) |
|
|
|
|
|
|