尝试使用新的django 1.9版本,并通过以下方式创建一个超级用户:
python manage.py createsuperuser
我只是想为我的本地开发环境使用一个简单的密码,就像只有一个字符,django1.9升级到一个非常严格的密码验证策略,我该如何绕过它呢?
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
答案 0 :(得分:10)
您可以在开发环境中更改 AUTH_PASSWORD_VALIDATORS 设置。请参阅文档:https://docs.djangoproject.com/en/1.9/topics/auth/passwords/#s-enabling-password-validation。这非常简单:您将识别导致警告消息的验证器。
答案 1 :(得分:7)
使用复杂密码创建超级用户后,您可以在shell中将其设置为更容易的东西(./manage.py shell):
from django.contrib.auth.models import User
user = User.objects.get(username='your_user')
user.set_password('simple')
user.save()
答案 2 :(得分:2)
实际上,您不需要修改验证程序设置或先创建一个复杂的密码,然后再进行更改。相反,您可以直接绕过所有密码验证器来创建简单的密码。
打开django shell
python manage.py shell
类型:
from django.contrib.auth.models import User
按Enter,然后键入(例如,使用仅由字母“ a”组成的密码):
User.objects.create_superuser('someusername', 'something@example.com', 'a')
再次点击即可完成操作。
答案 3 :(得分:0)
mimo 的答案是正确的,但如果您不使用默认的 User
模型,则不起作用
根据mimo的回答和这个article,我把脚本改成了这个
from django.contrib.auth import get_user_model
User = get_user_model()
user = User.objects.get(email='user@mail.com')
# or user = User.objects.get(username='your_user')
user.set_password('simple')
user.save()