bra*_*orm 5 django django-admin django-users
python manage.py shell
>>> from django.contrib.auth.models import User
>>> u=User.objects.get_or_create(username="testuser2",password="123")
>>> u
(<User: testuser2>, True)
Run Code Online (Sandbox Code Playgroud)
似乎它创造了User正确.但当我登录管理员时
http://127.0.0.1:8000/admin/auth/user/3/,我看到此消息的密码
Invalid password format or unknown hashing algorithm.
屏幕截图也附上了.为什么会这样,以及如何User objects从shell 创建.我实际上正在编写一个填充脚本,为我的项目创建多个用户?

Soh*_*ain 17
您需要使用该User.set_password方法来设置原始密码.
例如,
from django.contrib.auth.models import User
user, created = User.objects.get_or_create(username="testuser2")
user.set_password('123')
user.save()
Run Code Online (Sandbox Code Playgroud)
几乎正确,除了我们不想设置现有用户的密码
from django.contrib.auth.models import User
user, created = User.objects.get_or_create(username="testuser2")
if created:
# user was created
# set the password here
user.set_password('123')
user.save()
else:
# user was retrieved
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5712 次 |
| 最近记录: |