首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有BaseUserManager设置is_active=True的Django自定义用户模型不起作用

可能是由于以下原因导致的:

  1. 自定义用户模型未正确继承AbstractBaseUser或AbstractUser:在Django中,自定义用户模型需要继承自AbstractBaseUser或AbstractUser,并且正确配置AUTH_USER_MODEL。确保你的自定义用户模型正确继承了这些基类,并在settings.py中设置了AUTH_USER_MODEL。
  2. 自定义用户模型的管理器未正确配置:自定义用户模型需要一个自定义的管理器,该管理器继承自BaseUserManager,并且正确配置了is_active=True。确保你的自定义用户模型的管理器正确继承自BaseUserManager,并且在管理器中设置了is_active=True。
  3. 未正确配置AUTHENTICATION_BACKENDS:在settings.py中,需要将自定义用户模型的认证后端添加到AUTHENTICATION_BACKENDS列表中。确保你已经将自定义用户模型的认证后端添加到了AUTHENTICATION_BACKENDS列表中。
  4. 未正确配置LOGIN_URL和LOGIN_REDIRECT_URL:在settings.py中,需要正确配置LOGIN_URL和LOGIN_REDIRECT_URL。LOGIN_URL指定用户登录页面的URL,LOGIN_REDIRECT_URL指定用户成功登录后要重定向的URL。确保你已经正确配置了这两个URL。
  5. 未正确使用authenticate()函数进行用户认证:在进行用户认证时,需要使用Django提供的authenticate()函数。确保你在认证过程中正确使用了authenticate()函数。

如果以上步骤都正确配置,但问题仍然存在,可能需要进一步检查代码逻辑和调试。希望这些解决方案能够帮助你解决问题。

关于Django自定义用户模型和认证的更多信息,你可以参考腾讯云的产品文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django实战-信息资讯-重构 USER 模型

一、指定自定义的用户模型 ① Django 自定义的 User model 满足一些最低要求: 模型必须有一个唯一的字段可被用于识别目的。可以是一个用户名、电子邮件或任何其它独特属性。...# 是否激活 is_active = models.BooleanField(default=True) get_full_name() 必须定义。long 格式的用户标识。...二、为 User 模型自定义管理器 继承自 BaseUserManager from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin...这是一个抽象的类,可以为自定义用户模型中的类的层次结构中包含它。它提供所有 Django 权限类必须的方法和字段。...Django 允许通过修改 settings.py 文件中的 AUTH_USER_MODEL 设置覆盖默认的 User 模型,其值引用一个自定义的模型。

93720

自定义Django认证系统的技术方案

Django已经提供了开箱即用的认证系统,但是可能并不满足我们的个性化需求。自定义认证系统需要知道哪些地方可以扩展,哪些地方可以替换。本文就来介绍自定义Django认证系统的相关技术细节。...User有个is_active字段,ModelBackend和RemoteUserBackend不能给is_active=False的用户授权,如果想授权,可以使用AllowAllUsersModelBackend...替换User模型 新版Django的推荐做法是,如果不想用默认User模型,那么就把它替换掉。...继承AbstractBaseUser 继承AbstractUser只能做扩展,如果我们想完全自定义用户模型,那么就需要继承AbstractBaseUser,再重写属性和方法。...重写manager 如果自定义用户模型改变了username, email, is_staff, is_active, is_superuser, last_login, and date_joined

1.2K10
  • Django实践:自定义用户系统

    扩展Django的用户系统有几个方法: 1.在自定义Model中使用OneToOneField的方式来扩展,实现一个User Profile。...3.在Django1.5开始加强了用户自定义的功能,从AbstractBaseUser, PermissionsMixin开始派生出一个自定用户Model, 并且实现自定义的BaseUserManager...为了在Django管理界面管理自定义的用户,还需要实现自定义的UserAdmin。 下面是例子: 常用的做法应该是放到单独的用户app譬如user或者account下面。...''' # 这个函数可以实现自定义的用户密码检验,除非你想跳过Django的才实现。...admin.site.unregister(Group) 通过以上步骤就已经完成了一个自定义的用户模型,需要重新使用./manager.py sync产生数据库。

    94220

    django 关于User模型

    is_active:是否是可用的。对于一些想要删除账号的数据,我们设置这个值为False就可以了,而不是真正的从数据库中删除。 is_superuser:是否是超级管理员。...那么这时候我们就需要扩展用户模型了。扩展用户模型有多种方式。这里我们来一一讨论下。 1. 设置Proxy模型: 如果你对Django提供的字段,以及验证的方法都比较满意,没有什么需要改的。...return self.objects.filter(is_active=False) 在以上,我们定义了一个Person类,让他继承自User,并且在Meta中设置proxy=True,说明这个只是User...继承自AbstractBaseUser模型: 如果你想修改默认的验证方式,并且对于原来User模型上的一些字段不想要,那么可以自定义一个模型,然后继承自AbstractBaseUser,再添加你想要的字段...如何使用这个自定义的模型:比如以后我们有一个Article模型,需要通过外键引用这个User模型,那么可以通过以下两种方式引用。 第一种就是直接将User导入到当前文件中。

    1.1K30

    自定义 Django的User Model,扩展 AbstractUser类注意事项

    1.修改配置文件,覆盖默认的User模型 Django允许你通过修改setting.py文件中的 AUTH_USER_MODEL 设置覆盖默认的User模型,其值引用一个自定义的模型。...你应该使用django.contrib.auth.get_user_model()来引用用户模型————指定的自定义用户模型或者User from django.contrib.auth import...get_user_model   User = get_user_model() 当你定义一个外键或者到用户模型的多对多关系是,你应该使用AUTH_USER_MODEL设置来指定自定义的模型。...3.指定自定义的用户模型 3.1 Django 期望你自定义的 User model 满足一些最低要求: 模型必须有一个唯一的字段可被用于识别目的。...7.自定义用户和权限 如果想让在自定义用户模型中包含Django的权限控制框架变得简单,Django提供了PermissionsMixin。

    6.3K20

    Django使用自己的用户系统

    用过django的人应该都会知道admin,不过,需求是多变的,比如,你有一个变态的用户系统,用户可能有大中小三张头像,除了fisrt name ,last name外还有middle name,T^T...name巴拉巴拉,django 的用户系统可能满足不了你的需求,这时候需要用自己的用户系统了,如何能在满足需求的时候充分又利用到django的用户系统?...不过,需求是多变的,比如,你有一个变态的用户系统,用户可能有大中小三张头像, 除了fisrt name ,last name外还有middle name,T^T name巴拉巴拉,django 的用户系统可能满足不了你的需求...,这时候需要用自己的用户系统了,如何能在满足 需求的时候充分又利用到django的用户系统?...,建议浏览下AbstractBaseUser, BaseUserManager的源码 User类不用说,也就是根据自己业务定义的用户class,Manager就是django中 的Manager,做的事情你肯定经常用到

    63920

    15.Django基础十一之认证系统

    这个字段如果不使用admin的话,可以自行忽略,不影响使用 is_active:是否是可用的。对于一些想要删除账号的数据,我们设置这个值为False就可以了,而不是真正的从数据库中删除。...设置Proxy模型: 作用: 给模型增加操作方法 局限: 不能增加或减少User模型的字段 好处: 不破坏原来的User模型的表结构 如果你对Django提供的字段,以及验证的方法都比较满意,没有什么需要改的...,我们定义了一个Person类,让他继承自User,并且在Meta中设置proxy=True,说明这个只是User的一个代理模型。...注意:设置完一定要调用用户对象的save方法!!!     ...is_active : 是否允许用户登录, 设置为 False,可以在不删除用户的前提下禁止用户登录。

    2.2K20

    CRM客户关系管理系统(十三) 第十三章、用户自定义认证第十四章、万能通用权限框架设计

    第十三章、用户自定义认证 13.1.用户自定义认证 class Meta:              abstract = True   (不会创建表,只把字段继承给子类) django加密方式:md5..., null=True) is_active = models.BooleanField(default=True) is_admin = models.BooleanField(default..., null=True) is_active = models.BooleanField(default=True) is_admin = models.BooleanField(default...14.2.自定义权限钩子实现 只允许用户访问自己创建的数据,比如只允许销售访问自己创建的客户: (1)kingadmin/permission_list.py 'crm_table_list': ['table_obj_list...现在销售就只能看到自己创建的客户了 ? ? 这样,万通通用的权限框架就开发完毕了,权限的控制可大可小,而且想要移植到其它django项目时, 唯一需要改的,就是配置好perm_dic里的权限条目!

    1.1K00

    Django Admin后台管理:高效开发与实践

    认证后端:Django允许定义多个认证后端,用于验证用户凭据。 权限和授权:Django的权限系统基于对象,允许为每个对象实例设置权限。...用户模型:Django提供了一个默认的用户模型,包含用户名、密码和电子邮件等字段。 3.2 用户、组和权限的管理 用户管理:在Django Admin中,可以创建、编辑和删除用户。...3.3 自定义用户模型 Django允许开发者自定义用户模型以满足特定需求。 替换默认用户模型:在settings.py中设置AUTH_USER_MODEL指向自定义用户模型。...3.4 高级权限控制 对象权限:Django允许为模型的每个实例设置权限,这可以通过编写自定义权限类来实现。...自定义密码重置:可以实现自定义的密码重置流程,包括发送重置邮件和处理重置请求。 通过这一章的学习,你将能够掌握Django的认证系统,并学会如何管理用户、组和权限,以及如何自定义用户模型和用户界面。

    26110

    第一季 | 自定义用户模型,需要注意哪些坑位

    现在大部分web项目基本都会有第三方授权登录,那 django 实现这一需求,应该有很多包可以用,比如 social-auth-app-django,在使用这样的工具时,用户模型要不要做相应的改动?...再来看下第一季都有哪些可以回顾和用得上的小技能 本次创建的 django 项目,新建的用户模型继承 AbstractUser ,它是高度集成的类,里面定义的字段,不会完全显示,在迁移数据库时,就会创建。...使用 AbstractBaseUser 继承类来自定义一些字段,在 django 自带的 auth 认证的所有用法中统统不能使用,需要动手实现加密、登录判断、存储等一系列方法。...=True is_active 必须定义,标识用户是否为 active get_full_name() 与 get_short_name() 必须定义 如果没有加上,在执行数据库迁移命令会报错:...AttributeError: type object 'User' has no attribute 'USERNAME_FIELD' AUTH_USER_MODEL设置为自定义用户模型时,在引用 User

    78610

    重新整理django中Auth模块

    0907自我总结 重新整理django中Auth模块 from django.contrib import auth 一.设置 默认Auth表单 auth默认是使用自带的user表单 自定义Auth表单...写法如下: # 引用Django自带的User表,继承使用时需要设置 AUTH_USER_MODEL = "app名.UserInfo" 在modles.py创建表单模型可以对AbstractUser进行继承因为我们可以从源码中看出来...first_name:姓 last_name:名 email:邮箱 is_staff : 用户是否拥有网站的管理权限. is_active: 是否允许用户登录, 设置为 False,可以在不删除用户的前提下禁止用户登录...date_joined:创建日期 再看他的父级AbstractBaseUser password:密码 last_login:最后一次登入时间 is_active:是否允许用户登录, 设置为 False...这样设置之后可以直接request.user点出其账号相关信息 is_authenticated为True 将登入的对象存放在request中去除 logout(request) 该函数接受一个HttpRequest

    1K10

    使用 Django 的 admin 定制后台,丰富自己网站的后台管理系统

    使用 xadmin Django 自身带有一个功能强大的后台管理系统,这算是 Django 与其他的 Python 的 web 框架相比最大的一个优势吧!...admin 的注册 首先,如果要在 Django 的后台显示应用的模型,必须在应用所在的 admin.py 文件中注册模型。...date_hierarchy 这个属性是用来设置模型的筛选参数的,一般设置时间参数比较好,这样当模型的实例比较多的时候可以通过时间来快速筛选。...'show_content') # 设置需要添加a标签的字段 list_display_links = ('id', 'show_content') # 使用方法来自定义一个字段,并且给这个字段设置一个名称..., is_active=True) else: kwargs['queryset'] = User.objects.filter(id=request.user.id

    3.2K10

    如何让 Python 写的 API 接口同时支持 Session 和 Token 认证?

    通常情况下,需要用户进行登录的 API,我们都统一使用 Token 来进行认证,这样可以确保接口对多端的支持。...但是 Django 在 Web 网页端的功能实在是太好用了,以至于很多人舍不得放弃 Django 自带的认证功能。...DRF 支持的认证模式 REST framework 提供了许多开箱即用的身份认证方案,还允许自定义认证方案。...RemoteUserAuthentication(远程用户分组):这种身份认证允许将身份认证交给另一个 Web 服务器(通过设置REMOTE_USER变量指定认证服务器地址) 除此之外,我们还能自定义身份认证...一种是在 Django 的配置文件中通过 REST_FRAMEWORK变量全局设置认证模式,例如: REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES

    2.6K20

    Django源码学习-5-Manager 模型自定义-上

    Django源码学习-4-Signals 信号量 Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form...每个Django模型至少有一个manager,可以创建自定义 manager 以定制数据库的访问。...Django内建的User模型可能不适合某些类型的项目,在 Django 重写用户模型中,就用到了 AbstractBaseUser、BaseUserManager 来重构用户模型,而Django自带的用户模型管理器...① 自定义管理器(Manager) from django.db.models.manager import Manager objects 是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager...添加额外的 manager 增加额外的manager是为模块添加表级功能的首选办法。(至于行级功能,也就是只作用于模型实例对象的函数,则通过自定义模型方法实现)。

    66520

    Web | Django 与数据库交互,你需要知道的 9 个技巧

    将 named 设置为 True 会将 QuerySet 作为 namedtuples 列表返回: > user.objects.values_list( 'first_name', '...自定义函数(Custom functions) Django 2.0 的 ORM 功能非常强大,而且特性丰富,但还是不能与所有数据库的特性同步。不过幸运的是,ORM让我们用自定义函数来扩展它。...限制(Limit) 这与设置边界的最后一点有些相关。有时我们的客户的一些行为是不可预知的。比如,同一用户打开另一个选项卡并在第一次尝试「卡住」时再试一次并不罕见。...User) 在上面的模型中,Django 将会隐式的创建两个索引:一个用于用户,一个用于组。...根据我们用这个模型的职能,我们可以设置db_index=False忽略 FK 索引,只保留唯一约束索引: class Membership(Model): group = ForeignKey(

    2.9K40

    django 自带 user 字段扩展及头像上传

    《django入门:环境及项目搭建》 《django入门:数据模型》 《django入门:视图及模版》 《django入门:Admin管理系统及表单》 《django入门:通用视图类重构视图》 《用django...from django.db import models # 有个坑,扩展字段后密码会明文,当我们提交的时候需要进行设置,在后面的代码中会提到 class User(AbstractUser):...=30, blank=True) date_joined = models.DateTimeField(_('创建时间'), auto_now_add=True) is_active =...源码进行修改 class UserManager(BaseUserManager): use_in_migrations = True def _create_user(self, email...为自定义的 User Model 通过 2 , 3 方法扩展 User Model 后,当别的表和 User 表有链表结构的时候,最好通过 settings.AUTH_USER_MODEL 进行导入,

    2.2K30
    领券