from django.core.management.base import BaseCommand from django.conf import settings from crawler.models import Website class Command(BaseCommand): help = '初始化目标网站数据' def handle(self, *args, **options): self.stdout.write('开始初始化目标网站数据...') # 清空现有数据 Website.objects.all().delete() # 从设置中获取网站列表 websites_data = settings.TARGET_WEBSITES created_count = 0 for website_data in websites_data: website, created = Website.objects.get_or_create( url=website_data['url'], defaults={ 'name': website_data['name'], 'region': website_data['region'], 'is_active': True } ) if created: created_count += 1 self.stdout.write(f'创建网站: {website.name}') else: self.stdout.write(f'网站已存在: {website.name}') self.stdout.write( self.style.SUCCESS(f'成功初始化 {created_count} 个网站') )