init_assets.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django.core.management.base import BaseCommand
  2. from django.contrib.auth.models import User
  3. from assetapp.models import Category
  4. class Command(BaseCommand):
  5. help = '初始化系统:创建管理员用户和默认分类'
  6. def handle(self, *args, **options):
  7. # 创建管理员
  8. if not User.objects.filter(username='admin').exists():
  9. User.objects.create_superuser('admin', 'admin@example.com', 'admin123')
  10. self.stdout.write(self.style.SUCCESS('✓ 管理员用户已创建 (admin/admin123)'))
  11. else:
  12. self.stdout.write(' 管理员用户已存在,跳过')
  13. # 创建默认分类
  14. default_categories = [
  15. ('服务器', '各类物理服务器、虚拟化主机'),
  16. ('交换机', '网络交换设备'),
  17. ('路由器', '网络路由设备'),
  18. ('存储设备', 'SAN/NAS等存储设备'),
  19. ('防火墙', '网络安全设备'),
  20. ('UPS', '不间断电源设备'),
  21. ('其他', '其他类型设备'),
  22. ]
  23. created_count = 0
  24. for name, desc in default_categories:
  25. cat, created = Category.objects.get_or_create(
  26. name=name,
  27. defaults={'description': desc}
  28. )
  29. if created:
  30. created_count += 1
  31. self.stdout.write(self.style.SUCCESS(f'✓ 分类初始化完成 (新增 {created_count} 个)'))
  32. self.stdout.write(self.style.SUCCESS('\n初始化完成!请使用 admin/admin123 登录'))