如何从fixture中添加Django中的超级用户



如何通过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"用户)。

最新更新