方式一
# 密码是通过 DJANGO_SUPERUSER_PASSWORD 变量来设置,如果变量不存在,则用户可创建成功,但无法登录,直到用户被设置密码方可使用.
export DJANGO_SUPERUSER_PASSWORD=xxxxx
python manage.py createsuperuser --noinput --username test --email www@mrdoc.fun
方式二
echo "from django.contrib.auth import get_user_model; User = get_user_model(); User.objects.create_superuser('用户名', 'www@mrdoc.fun', '密码')" | python manage.py shell
方式三
- 增加manage.py的自定义初始化命令,如:initadmin
# 示例:initadmin.py
class Command(BaseCommand):
def handle(self, *args, **options):
if Account.objects.count() == 0:
for user in settings.ADMINS:
username = user[0].replace(' ', '')
email = user[1]
password = 'admin'
print('Creating account for %s (%s)' % (username, email))
admin = Account.objects.create_superuser(email=email, username=username, password=password)
admin.is_active = True
admin.is_admin = True
admin.save()
else:
print('Admin accounts can only be initialized if no Accounts exist')
Reference Link