【问题标题】:How to add superuser in Django from fixture如何从夹具在 Django 中添加超级用户
【发布时间】:2016-03-23 02:58:10
【问题描述】:

如何通过 Django fixtures 添加 SUPERuser(不仅仅是用户)?

假设我想要登录名:admin,密码:admin。

【问题讨论】:

  • 这是django tutorial的第2页...
  • @TomaszJakubRup 我说的是超级用户,不是普通用户。
  • @Sayse 我正在寻找解决方案,它使用夹具,而不是手动输入
  • @GriMel 超级用户是设置了is_superuser 标志的普通用户。

标签: django django-fixtures


【解决方案1】:

解决方案 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
        }
    }
]

【讨论】:

  • 这就是我一直在寻找的。为什么我有缺点?)
【解决方案2】:

如果您使用的是pytest-django,您可以使用现有的夹具admin_user

来自 RTD:

超级用户的实例,用户名为“admin”,密码为“password”(如果还没有“admin”用户)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-26
    • 2013-07-26
    • 2015-06-30
    • 1970-01-01
    • 2016-10-03
    • 1970-01-01
    • 2011-01-25
    • 2021-06-22
    相关资源
    最近更新 更多