使用django admin命令扩展功能
简单示例:批量创建用户名和用户手机号
1.先在apps应用文件夹下创建目标adduser文件
2.安装Faker
pip install Faker
faker基本使用
faker.name_male(),#随机获取姓名
faker.phone_number(),#随机获取手机号
3.填写代码
from django.core.management.base import BaseCommand, CommandError
from users.models import User #从模型类导入创建用户的User
from faker import Faker
from django.contrib.auth.hashers import make_password
class Command(BaseCommand):
help = '批量创建新用户'
def add_arguments(self, parser):
parser.add_argument('add_num', nargs='+', type=int)
def handle(self, *args, **options):
faker = Faker(locale='zh_CN')
password = 123456
for i in range(options['add_num'][0]):
try:
User.objects.create(**{
'username':faker.name_male(),
'phone':faker.phone_number(),
'password':make_password(password) #django中创建加密密码的方法
}
)
except:
raise CommandError('%s用户名已存在请重试' % faker.name_male())
5.执行命令
python manage.py adduser 10
官方文档:https://docs.djangoproject.com/zh-hans/3.1/howto/custom-management-commands/
文章评论