Use*_*007 18 django django-admin
我已经建立了一段时间的Django网站,但我从未启用过Django管理员.
用户帐户在LDAP和Django上都已注册,但主记录基于LDAP.所以我必须使用LDAP中的帐户作为超级用户.
当我启用Django Admin时,系统会提示我创建一个超级用户.我可以使用现有帐户(在LDAP和Django db上注册)作为超级用户吗?
怎么样?
Her*_*aaf 45
是的,但你会通过Django shell来做到这一点:
python manage.py shell
Run Code Online (Sandbox Code Playgroud)
然后从数据库中获取您的用户:
from django.contrib.auth.models import User
user = User.objects.get(username="myname")
user.is_staff = True
user.is_admin = True
user.save()
Run Code Online (Sandbox Code Playgroud)
退出shell,该用户现在将成为管理员用户.
您也可以添加该行
user.is_superuser = True
Run Code Online (Sandbox Code Playgroud)
在调用之前,user.save()如果您希望或需要此用户成为超级用户并拥有所有可用权限.
Car*_*ira 13
接受的答案在 Django 3 上生成了一个错误:
AttributeError: Manager isn't available; 'auth.User' has been swapped for 'users.User'
Run Code Online (Sandbox Code Playgroud)
来自 Django shell:
python manage.py shell
Run Code Online (Sandbox Code Playgroud)
运行这个:
from django.contrib.auth import get_user_model
User = get_user_model()
user = User.objects.get(username="myname")
user.is_staff = True
user.is_admin = True
user.is_superuser = True
user.save()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7675 次 |
| 最近记录: |