添加配置文件后对 admin django 的错误 url
wrong url to admin django after adding profile
我有一个登录页面,我会将其更改为另一个登录页面,然后我关注 these instructions。
我添加了这段代码,当我尝试登录我添加的用户管理员时,它把我发送到错误的 url http://localhost:8050/admin/login/?next=/admin/ 并抛出:
RelatedObjectDoesNotExist at /admin/login/
User has no profile
配置文件实例是在 post_save
信号上生成的,也就是说,您必须在添加 Profile
class 后至少保存一次 User
。
在您的情况下,最简单的解决方法是使用 python manage.py createsuperuser
.
创建一个新的管理员用户
错误似乎是,您在数据库中有一个 User
,但它没有任何 profile
关系 现在。
解法:1
通过 django shell
.
为数据库中当前存在的 User
设置 profile
实例
1. 通过 python manage.py shell
登录 django shell
2. 运行这些命令,
from django.contrib.auth.models import User
from myapp.models import Profile
for user in User.objects.all():
Profile.objects.create(user=user)
3。然后登录到 django 管理员
解法:2
删除你的数据库,(如果你正在使用 sqlite
,删除相应的文件)和 migrate
然后通过 python manage.py createsuperuser
创建一个新的超级用户命令
我有一个登录页面,我会将其更改为另一个登录页面,然后我关注 these instructions。
我添加了这段代码,当我尝试登录我添加的用户管理员时,它把我发送到错误的 url http://localhost:8050/admin/login/?next=/admin/ 并抛出:
RelatedObjectDoesNotExist at /admin/login/
User has no profile
配置文件实例是在 post_save
信号上生成的,也就是说,您必须在添加 Profile
class 后至少保存一次 User
。
在您的情况下,最简单的解决方法是使用 python manage.py createsuperuser
.
错误似乎是,您在数据库中有一个 User
,但它没有任何 profile
关系 现在。
解法:1
通过 django shell
.
为数据库中当前存在的 User
设置 profile
实例
1. 通过 python manage.py shell
登录 django shell
2. 运行这些命令,
from django.contrib.auth.models import User
from myapp.models import Profile
for user in User.objects.all():
Profile.objects.create(user=user)
3。然后登录到 django 管理员
解法:2
删除你的数据库,(如果你正在使用 sqlite
,删除相应的文件)和 migrate
然后通过 python manage.py createsuperuser
创建一个新的超级用户命令