来自django自定义管理页面的创建用户无法登录

时间:2015-05-28 13:15:24

标签: python django django-admin

我有一个自定义管理页面:

class StripeAdminSite(admin.AdminSite):
     ...
     pass

我已将django.contrib.auth.models注册到此管理网站:

stripe_admin_site = StripeAdminSite(name='Stripe')
stripe_admin_site.register(User)

现在用户显示在管理页面中,它也让我创建用户(作为东西),但在创建之后,当我尝试使用它们登录仪表板时,它不允许我这样做。

切换回默认管理网站后,我用旧用户密码字段写了这个:

  

无效的密码格式或未知的散列算法。

enter image description here

现在可以做些什么?

更多/额外信息:How to bring default add user page at django custom admin page?

1 个答案:

答案 0 :(得分:2)

问题是你没有用Django的User注册UserAdmin模型。这意味着在创建用户时密码未正确散列,因此无法登录。

要使用Django的UserAdmin,请按以下步骤更改您的代码。

stripe_admin_site = StripeAdminSite(name='Stripe')
from django.contrib.auth.admin import UserAdmin
stripe_admin_site.register(User, UserAdmin)

完成此操作后,您将来不会遇到此问题。

使用更改密码链接重置现有用户的密码,然后他们就可以登录。