From 60366b7eb1a5458347e8fcef4e1c11d4ca7813ce Mon Sep 17 00:00:00 2001 From: ngfchl Date: Sun, 5 Apr 2026 12:55:57 +0800 Subject: [PATCH] =?UTF-8?q?update.=20=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A1=AB=E5=85=85=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- article/seeder.py | 2 +- news/seeder.py | 29 ++++++++++++++++++++++------- server/settings.py | 3 ++- users/seeder.py | 7 ++++--- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/article/seeder.py b/article/seeder.py index ab28d15..b2b9196 100644 --- a/article/seeder.py +++ b/article/seeder.py @@ -121,4 +121,4 @@ def seed_articles(count=20): if __name__ == "__main__": - seed_articles(120) + seed_articles(1200) diff --git a/news/seeder.py b/news/seeder.py index d4a323a..ebcc846 100644 --- a/news/seeder.py +++ b/news/seeder.py @@ -3,6 +3,8 @@ import random import sys import django +from loguru import logger +from pypinyin import lazy_pinyin, Style # 配置 Django 环境 sys.path.append(os.path.dirname(os.path.abspath(__file__))) @@ -17,18 +19,31 @@ from users.models import User # 初始化 Faker (zh_CN 表示生成中文数据) fake = Faker('zh_CN') +NEWS_SECTIONS = [ + {"title": "消防要闻", "order": 1, "visible": True, }, + {"title": "基层动态", "order": 2, "visible": True, }, + {"title": "国务院新闻", "order": 3, "visible": True, }, +] + def seed_news(count=20): - print(f"🚀 开始生成 {count} 条富文本新闻数据...") + logger.info(f"🚀 开始生成 {count} 条富文本新闻数据...") # --- 1. 获取关联数据 --- sections = list(NewsSection.objects.all()) users = list(User.objects.all()) if not sections: - print("❌ 错误:数据库中没有找到任何板块 (NewsSection)!") - return - + logger.warning("❌ 错误:数据库中没有找到任何板块 (NewsSection)!") + for sec in NEWS_SECTIONS: + title = sec["title"] + NewsSection.objects.create( + title=title, + code="-".join(lazy_pinyin(title, style=Style.NORMAL)), + order=sec["order"], + visible=sec["visible"], + ) + sections = list(NewsSection.objects.all()) created_count = 0 for i in range(count): @@ -90,10 +105,10 @@ def seed_news(count=20): ) created_count += 1 - print(f" - [{section.title}] {news.title}") + logger.info(f" - [{section.title}] {news.title}") - print(f"✅ 成功生成 {created_count} 条富文本新闻数据!") + logger.info(f"✅ 成功生成 {created_count} 条富文本新闻数据!") if __name__ == "__main__": - seed_news(120) + seed_news(600) diff --git a/server/settings.py b/server/settings.py index b323f81..25d5497 100644 --- a/server/settings.py +++ b/server/settings.py @@ -125,7 +125,7 @@ ASGI_APPLICATION = 'server.asgi.application' if env('DB_REMOTE', default=False): # mysql_connect = dj_database_url.parse(os.getenv('MYSQL_CONNECTION'), conn_max_age=0) - # print("数据库连接信息", mysql_connect) + logger.info("正在使用 PGSQL 数据库连接信息") DATABASES = { 'default': { 'ENGINE': env('DB_ENGINE', default='dj_db_conn_pool.backends.postgresql'), @@ -147,6 +147,7 @@ if env('DB_REMOTE', default=False): }, } else: + logger.info("正在使用本地 SQLite 数据库", ) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', diff --git a/users/seeder.py b/users/seeder.py index 1cbfeda..db1255a 100644 --- a/users/seeder.py +++ b/users/seeder.py @@ -3,6 +3,7 @@ import sys import django from faker import Faker +from loguru import logger # 配置 Django 环境 sys.path.append(os.path.dirname(os.path.abspath(__file__))) @@ -16,7 +17,7 @@ fake = Faker('zh_CN') def seed_users(count=5): - print(f"正在生成 {count} 个用户...") + logger.info(f"正在生成 {count} 个用户...") users = [] for i in range(count): @@ -37,9 +38,9 @@ def seed_users(count=5): last_name=fake.last_name() ) users.append(user) - print(f" - 创建用户: {username} (密码: password123)") + logger.info(f" - 创建用户: {username} (密码: password123)") - print("用户生成完毕!") + logger.info("用户生成完毕!") if __name__ == "__main__":