37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
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} 个网站')
|
|
)
|