我成功地在 django 中使用了自定义用户模型。
最后要做的事情是超级用户更改任何用户密码的“AdminChangePasswordForm”。
目前,来自 admin:myapp:user 的更改密码链接给出了 404
答案。
覆盖 get_urls
并重写 UserChangeForm 以获得正确的 url。
所以我有类似的问题。当我尝试从 admin 更改用户密码时,我得到的 url 为“/admin/accounts/siteuser/password/”(siteuser 是我的自定义用户模型的名称),并且出现 404 错误并显示以下消息:“主键为 u 的用户对象”密码'不存在。”
调查表明,问题是由于 django-authtools (1.4.0) 中的错误造成的,因为我使用 NamedUserAdmin 类继承。
所以解决方案是(如果您需要从任何自定义 UserAdmin 继承,例如 django-authtools 中的 NamedUserAdmin):
from django.contrib.auth.forms import UserChangeForm
from authtools.admin import NamedUserAdmin
class SiteUserAdmin(NamedUserAdmin):
...
form = UserChangeForm
...
或者只是继承默认的 django UserAdmin:
from django.contrib.auth.admin import UserAdmin
class SiteUserAdmin(UserAdmin):
pass
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)