48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
import os
|
|
import sys
|
|
|
|
import django
|
|
from faker import Faker
|
|
from loguru import logger
|
|
|
|
# 配置 Django 环境
|
|
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings") # 修改为你的 settings 路径
|
|
django.setup()
|
|
|
|
from users.models import User
|
|
|
|
# 初始化 Faker,设置中文(如果需要中文名)
|
|
fake = Faker('zh_CN')
|
|
|
|
|
|
def seed_users(count=5):
|
|
logger.info(f"正在生成 {count} 个用户...")
|
|
|
|
users = []
|
|
for i in range(count):
|
|
# 生成随机用户名
|
|
username = fake.user_name()
|
|
|
|
# 检查用户名是否已存在,避免冲突
|
|
if User.objects.filter(username=username).exists():
|
|
continue
|
|
|
|
user = User.objects.create_user(
|
|
username=username,
|
|
email=fake.safe_email(),
|
|
password='password123', # 统一密码,方便测试登录
|
|
is_active=True,
|
|
is_staff=False, # 随机是否为管理员
|
|
first_name=fake.first_name(),
|
|
last_name=fake.last_name()
|
|
)
|
|
users.append(user)
|
|
logger.info(f" - 创建用户: {username} (密码: password123)")
|
|
|
|
logger.info("用户生成完毕!")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
seed_users(10)
|