Django - 用户 is_active

2024-04-19

这是我的用户身份验证方法:

def user_login(request):
    if request.method == 'POST':
        username = request.POST.get('username')
        password = request.POST.get('password')
        user = authenticate(username=username, password=password)

        if user:
            if user.is_active:
                login(request, user)
                return HttpResponseRedirect(reverse('index'))
            else:
                print('TEST')
                messages.info(request, 'Inactive user')
                return HttpResponseRedirect(reverse('index'))
        else:
            messages.error(request, 'Invalid username/password!')
        return HttpResponseRedirect(reverse('index'))
    else:
        return render(request, 'mainapp/login.html', {})

如果用户存在且不活动,则会出现错误消息:

messages.error(request, 'Invalid username/password!')
return HttpResponseRedirect(reverse('index'))

代替:

print('TEST')
messages.info(request, 'Inactive user')
return HttpResponseRedirect(reverse('index'))

我不知道这里出了什么问题......有任何线索吗?


默认ModelBackend身份验证后端开始拒绝不活动的用户姜戈 1.10 https://docs.djangoproject.com/en/1.10/releases/1.10/#django-contrib-auth。因此你的authenticate()来电返回None,你得到无效的用户名/密码!来自外部 if/else 语句的消息。

正如丹尼尔所说,如果你使用默认的ModelBackend,您不再需要检查user.is_active在您的登录视图中。

如果你真的想要authenticate要返回非活动用户,那么您可以使用AllowAllUsersModelBackend https://docs.djangoproject.com/en/1.10/ref/contrib/auth/#django.contrib.auth.backends.AllowAllUsersModelBackend反而。如果您这样做,那么您有责任检查is_active在您的登录视图中标记。

AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.AllowAllUsersModelBackend']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django - 用户 is_active 的相关文章

  • 将 Django 部署到 AWS;傻瓜静态文件

    我对这个项目的最后一步完全迷失了 到目前为止 我已经能够开发一个 Django 应用程序 它可以在本地主机上按照我想要的方式工作 我已经能够将网站部署到 AWS EC2 但我一定错过了有关提供静态文件的一些基本知识 我什至还没有尝试过媒体文
  • Django查询:如何过滤对象以排除列表中的id?

    如何在查询中进行过滤 以便结果排除 ID 属于列表的任何对象实例 可以说我有 object id list 1 5 345 MyObject objects filter Q time gte datetime now Q what to
  • 打印一份拥有多个家庭的人员名单,每个家庭都有多个电话号码

    我有一类 Person 它可以有多个 Home 每个 Home 都有一个或多个电话号码 我已经定义了类 但现在我正在尝试创建一个视图 其中列出每个人的所有家庭以及每个家庭地址的所有电话号码 类似于 john smith 123 fake s
  • Django 1.7 应用程序配置导入错误:没有名为 appname.apps 的模块

    我正在尝试按照以下文档为我的一个名为 文章 的 Django 应用程序设置自定义应用程序配置https docs djangoproject com en dev ref applications https docs djangoproj
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • Django 中的所有模型基本上都有分配给对象变量的初始化构造函数吗

    假设我有这样的东西 class Album models Model artist models CharField max length 128 unique True title models CharField max length
  • 随机数据库与 AWS 中的 Django 和 Postgresql 断开连接

    我试图找出 Django 和数据库连接错误问题的根源 此时 我正在调试提示 因为我认为症状太不具体 一些背景 我一直在使用这个堆栈 在 AWS 中部署了很多年 没有出现任何问题 Ubuntu 在本例中为 20 04 LTS Nginx Uw
  • React 错误:目标容器不是 DOM 元素

    我刚刚开始使用 React 所以这可能是一个非常简单的错误 但我们开始吧 我的html代码非常简单 load staticfiles
  • Django 2.0 haystack 更新索引,重建索引抛出错误

    我使用 django 2 0 和 haystack whoosh 作为搜索 我按照文档中的说明进行配置 发生的问题是当我跑步时 manage py rebuild index它显示此错误 Traceback most recent call
  • 创建django权限,报错:ContentType匹配查询不存在

    我正在尝试添加两个组并授予他们对我的 Django 项目的权限 但我不断收到错误 ContentType 匹配查询不存在 我在跑步 姜戈 1 5 4 Python 2 7 3 南0 8 2 后SQL 9 3 这是我的代码 import dj
  • Django 将所有未捕获的 url 路由到包含的 urls.py

    我希望每个不以 api 开头的网址都使用 foo urls py urls py from django conf urls import include url from foo import urls as foo urls urlpa
  • 如何使用UpdateView?

    我有两个可能相关的 UpdateView 问题 首先 它不是更新用户而是创建一个新的用户对象 其次 我无法限制表单中显示的字段 这是我的观点 py class RegistrationView FormView form class Reg
  • CSS 未在 Django 项目中加载?

    我是 Django 新手 但负责该项目的前端工作 我一直在研究如何准确加载 css 文件 但我发现这些方法不起作用 这是 html 文件布局 load static
  • HTMX 用于处理来自 django 后端的消息

    我想使用 HTMX 来显示来自 django 后端的消息 经过大量的试验和错误 我最终得到了一个可行的解决方案 我想把它留给任何寻找它的人 另外 请随时发表您的建议 不幸的是 除了一点点example https github com ad
  • 无法创建超级用户 Django

    我假设这是因为我的超级用户依赖于还没有现有数据的 UserProfile 我的模型看起来像 from django db import models from django contrib auth models import User f
  • 跨应用程序使用 Django 模型?

    因此 在我的 Django 项目中 我有几个不同的应用程序 每个应用程序都有自己的模型 视图 模板等 让这些应用程序进行通信的好方法 Django 方式 是什么 一个具体的例子是一个会议应用程序 它有一个会议模型 我有一个家庭应用程序 我想
  • Django:分解视图

    这实际上只是一个 最佳实践 问题 我发现在开发应用程序时 我经常会遇到a lot的意见 将这些视图分成几个视图文件是常见的做法吗 换句话说 不仅仅是views py 通常还有views 1 py views 2 py views 3 py
  • django AuditTrail 与还原

    我正在开发一个新的网络应用程序 我需要将数据库中的任何更改存储到审核表中 此类审计表的目的是 稍后在真正的物理审计中 我们可以确定在某种情况下发生了什么 谁编辑了什么以及数据库当时的状态是什么 复杂的计算 所以大多数审计表将被写入而不是读取
  • Django Rest Framework 删除 csrf

    我知道有关于 Django Rest Framework 的答案 但我找不到解决我的问题的方法 我有一个具有身份验证和一些功能的应用程序 我向其中添加了一个新应用程序 它使用 Django Rest Framework 我只想在这个应用程序
  • 在 Bootstrap 中使单击的选项卡处于活动状态

    我正在使用 Django 并将 Bootstrap 与 Django 集成 这是我的导航栏 HTML 代码 div class navbar navbar default navbar fixed top div class contain

随机推荐