如何通过Django fixture添加SUPERuser(不仅仅是用户)?
假设我想要登录名:admin,密码:admin。
解决方案1
在空数据库上:
python manage.py createsuperuser
python manage.py dumpdata auth.User --indent 4 > users.json
在users.json
中,您需要固定装置。
解决方案2
./manage.py shell
>>> from django.contrib.auth.hashers import make_password
>>> make_password('test')
'pbkdf2_sha256$10000$vkRy7QauoLLj$ry+3xm3YX+YrSXbri8s3EcXDIrx5ceM+xQjtpLdw2oE='
并创建夹具文件:
[
{ "model": "auth.user",
"pk": 1,
"fields": {
"username": "admin",
"password": "pbkdf2_sha256$10000$vkRy7QauoLLj$ry+3xm3YX+YrSXbri8s3EcXDIrx5ceM+xQjtpLdw2oE="
"is_superuser": true,
"is_staff": true,
"is_active": true
}
}
]
如果您正在使用pytest-django,您可以使用现有的fixture admin_user。
来自RTD:
超级用户的实例,用户名为"admin",密码为"password"(以防还没有"admin"用户)。