属性错误:“用户”对象没有属性“is_admin”

2024-03-19

我通过扩展 AbstractBaseUser 自定义了用户模型,用户名仅接受电子邮件 ID。这是模型:

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField('email address', unique=True)
    first_name = models.CharField('first name', max_length=30, blank=True)
    last_name = models.CharField('last name', max_length=30, blank=True)
    date_joined = models.DateTimeField('date joined', auto_now_add=True)
    is_active = models.BooleanField('active', default=True)
    is_staff = models.BooleanField(default=False)

    objects = UserManager()

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

class Meta:
    verbose_name = 'user'
    verbose_name_plural = 'users'

def get_full_name(self):
    full_name = '%s %s' % (self.first_name, self.last_name)
    return full_name.strip()

def get_short_name(self):
    return self.first_name

def email_user(self, subject, message, from_email=None, **kwargs):
    send_mail(subject, message, from_email, [self.email], **kwargs)

上述模型的模型管理器是:

class UserManager(BaseUserManager):
use_in_migrations = True

def _create_user(self, email, password, **extra_fields):
    """
    Creates and saves a User with the given email and password.
    """
    if not email:
        raise ValueError('The given email must be set')
    email = self.normalize_email(email)
    user = self.model(email=email, **extra_fields)
    user.set_password(password)
    user.save(using=self._db)
    return user

def create_user(self, email, password=None, **extra_fields):
    extra_fields.setdefault('is_superuser', False)
    return self._create_user(email, password, **extra_fields)

def create_superuser(self, email, password, **extra_fields):
    extra_fields.setdefault('is_superuser', True)

    if extra_fields.get('is_superuser') is not True:
        raise ValueError('Superuser must have is_superuser=True.')

    return self._create_user(email, password, **extra_fields)

我可以创建自定义用户,但是当我尝试登录时出现属性错误:

Attribute error: 'User' object has no attribute 'is_admin'

下面是admin.py文件

class ProfileInline(admin.StackedInline):
model = Course
can_delete = False
verbose_name_plural = 'Course'
fk_name = 'user'

class CustomUserAdmin(UserAdmin):
    inlines = (ProfileInline, )

    def get_inline_instances(self, request, obj=None):
        if not obj:
            return list()
    return super(CustomUserAdmin, self).get_inline_instances(request, obj)


admin.site.register(User, CustomUserAdmin)

Django user https://github.com/django/django/blob/master/django/contrib/auth/models.py模型没有该属性is_admin.

显示错误是因为您在代码中的某个位置(可能是登录视图?)您正在调用user.is_admin。找到它并删除它,或者使用user.is_staff / user.is_superuser反而。

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

属性错误:“用户”对象没有属性“is_admin” 的相关文章

随机推荐

  • 在 Swift 中使用字符分隔符查找并突出显示文本

    我之前开发了一个 Android 应用程序 作为用户的参考指南 它使用 sqlite 数据库来存储信息 数据库存储不带格式的 UTF 8 文本 即粗体或下划线 为了突出显示文本的哪些部分需要格式化 我使用分隔符标记 特别是 将它们括起来 因
  • Zipline 导入错误。没有名为 zipline.transforms 的模块

    我无法导入 zipline transforms 模块 gt gt gt from zipline transforms import batch transform Traceback most recent call last File
  • Python - 从 Tkinter 回调返回

    如何从作为 Tkinter 回调执行的函数中获取返回的对象 import Tkinter as Tk from functools import partial def square x return x x root Tk Tk var
  • Java中的AtomicLong有什么用?

    有人可以解释一下 AtomicLong 的用途吗 例如 以下陈述有什么区别 private Long transactionId private AtomicLong transactionId 有重要的这两个对象之间的差异 虽然最终结果是
  • 用于创建微服务应用程序的 Maven 原型 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有这样的 Maven Archetype 为微服务应用程序创建多模块 Maven 项目结构 我想要一
  • 了解 typeid().name() 的输出

    我正在检查某些类型的变量并得到一些令人困惑的结果 include
  • 如何保护/监控您的网站免遭恶意用户抓取

    情况 网站内容受用户名 密码保护 并非全部受控 因为他们可以是试用 测试用户 由于用户名 密码限制 普通搜索引擎无法获取它 恶意用户仍然可以登录并将会话 cookie 传递给 wget r 或其他东西 问题是监控此类活动并对其做出响应的最佳
  • HttpURLConnection.getInputStream 非常慢

    与使用相同服务器端服务的 iPhone 应用程序相比 HttpURLConnection getInputStream 需要花费很多时间 以下代码用于该服务 date new java util Date Log d time Time S
  • DSP——获取所有频率的幅度

    这个问题与 DSP 音频处理 squart还是log来利用fft https stackoverflow com questions 20057831 dsp audio processing squart or log to levera
  • 标准程序的用途列表

    我正在搜索 SAP 表的使用 我想知道桌子在哪里S083用于 SAP 标准程序 我已经搜索过 使用地点 列表 但我只得到了自创程序 没有得到SAP标准程序 有人知道如何在 SAP 标准程序中搜索表使用吗 为了能够使用 SAP 标准编码的使用
  • 如何选择列值以特定字符串开头的行?

    如何选择列值以特定字符串开头的行 例如 我想选择 姓名 列以 先生 开头的行 你可以做 select from mytable where name like Mr See http www sqlite org lang expr htm
  • 无法在 Maven 插件上使用注释设置参数

    我正在尝试开发一个 Maven 插件 但当我使用 Parameter 注释时它不起作用 我的依赖项
  • 图像地图区域聚某些坐标 Firefox 不起作用,IE 起作用

    我遇到了图像映射 HTML 问题 没有样式和 js 的工作示例 http www download lagunawebdesign pl bug http www download lagunawebdesign pl bug img sr
  • 如何在spark中配置hbase?

    Spark连接hbase的步骤是什么 我有两者的主地址 我是否只需将 hbase 地址添加到 Spark 类路径中 这篇关于 Spark 与 HBase 连接的文章应该会有所帮助 http www vidyasource com blog
  • 没有唯一标识符的 Bootstrap 崩溃

    我正在尝试以不需要唯一标识符的方式使用引导折叠插件 通常 页面上通常有一个或几个可折叠元素 但我的元素是动态生成的 传递索引键是多余的 现在发生的情况是 如果我将折叠切换为element2 它会崩溃element1 显然是因为他们有相同的I
  • 优先连接Wifi [无互联网]?

    我有个问题 我开发了一个android应用程序 它也应该连接到无线网络 没有互联网 只是为了控制机器人 网页界面 10 10 0 1 我的问题 如果我连接到机器人 wifi Android 会阻止连接并连接到我的默认家庭 WLAN 我可以更
  • 如何在应用程序中禁用 Aero Snap?

    是否可以在 WPF 应用程序中禁用 Windows 7 的自动窗口停靠功能 我最近需要对一个自定义的 可调整大小的ResizeMode CanResizeWithGrip没有窗口装饰的 WPF 窗口 没有标题栏和按钮 我用了DragMove
  • 如何在 iOS 7 应用程序上启用后台更新

    如何让我的应用程序使用 iOS 7 后台更新功能 我注意到一些应用程序已经做到了这一点 但似乎并不是所有应用程序都是自动的 根据iOS 7 的新功能 https developer apple com library ios release
  • 是否可以在 Chrome 检查器中过滤选项请求?

    我正在构建一个使用 CORS 与其服务器进行通信的 Web 应用程序 这意味着每个请求之前都有一个带有 OPTIONS 方法的请求 是否可以在检查器中过滤掉它们 它在网络选项卡上造成了很多不必要的混乱 是的 您可以使用 method OPT
  • 属性错误:“用户”对象没有属性“is_admin”

    我通过扩展 AbstractBaseUser 自定义了用户模型 用户名仅接受电子邮件 ID 这是模型 class User AbstractBaseUser PermissionsMixin email models EmailField