首页
学习
活动
专区
工具
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 模型,其值引用一个自定义模型

92520

自定义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产生数据库。

    93620

    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

    自定义 DjangoUser 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.1K20

    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就是djangoManager,做事情你肯定经常用到

    62920

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

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

    2.1K20

    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认证系统,并学会如何管理用户、组和权限,以及如何自定义用户模型用户界面。

    13310

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

    现在大部分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

    77210

    重写djangomodel下objects模型管理器方式

    django自定义管理器和model继承 在我写代码时建立很多数据库需要一些共同字段,比如is_active, create_time这些字段,所以可以建立一个基类model 模型继承 我们可以充分利用...' 重写Djangomodel.objects 当我们使用model.objects.filter()时,经常会过滤掉is_active=False,但是这样我们每个 filter(is_active...=True)都需要这样写,那我们能不能重写掉这个filter方法, 让他每次可以自己过滤掉,这里我们可以看一下django源码 # 这里源码我就不拉出来了, 我们可以看到django是set了个objects...函数是有返回值,所以我们将super出来结果返回出去,我们只需要在kwargs中增加个参数就行 ''' if not kwargs.get('is_active', True): # 如果需要查看所有数据...db_index:若值为 True,则在表中会为此字段创建索引 default: 默认值 primary_key: 若为 True,则该字段会成为模型主键字段 unique:如果为 True,这个字段在表中必须有唯一值

    1.5K40

    重新整理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

    3K10

    如何让 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是为模块添加表级功能首选办法。(至于行级功能,也就是只作用于模型实例对象函数,则通过自定义模型方法实现)。

    65720

    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.8K40

    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.1K30
    领券