问题标签 [django-custom-user]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
330 浏览

django - 在 Django 项目中结合 django-authtools 和 django-allauth

我有一个集成了 allauth 的 Django (1.8) 项目。现在我想要一个自定义用户模型而不是 auth.user 模型(我知道它是可配置的,但我需要更多的灵活性)。当我按照 django-authtools 安装说明进行操作时,第一步是将以下行添加到 url-patterns,请参阅 https://django-authtools.readthedocs.org/en/latest/intro.html#installation

然而,allauth 应用程序已经采用了这个 URL 模式(按照其说明,请参阅 http://django-allauth.readthedocs.org/en/latest/installation.html ):

那么我应该如何进行呢?

0 投票
2 回答
367 浏览

django - Django 自定义用户身份验证无法正常工作

我正在使用自定义用户身份验证模型,该模型使用电子邮件地址作为用户名并创建用户,但即使密码 1 与密码 2 不同,注册也会成功完成。我无法调试问题。

这是models.py文件:

管理员.py

视图.py

0 投票
1 回答
178 浏览

django - 是否需要在 django 中为自定义用户模型制作自定义管理器

我正在使用AbstractBaseUserPermissionsMixin遵循这两个教程(tutorial-1tutorial-2)制作自定义用户模型。

这是迄今为止的模型:

现在我感到困惑的是,在tutorial-1中,作者没有为自定义 User 模型制作任何自定义管理器。相反,他使用表单来创建用户。

但是在tutorial-2中,它的作者为自定义 User 模型制作了一个自定义管理器。

参考Django Docs,有一个自定义用户模型的示例,它使用自定义管理器。我的问题是,是否可以不创建任何其他自定义管理器,如果不是,创建自定义管理器有什么用?

0 投票
0 回答
298 浏览

django - 常规自定义用户能够登录到 Django 的管理控制台

我为 Django 创建了一个自定义用户模型,现在这些普通用户可以登录到管理控制台。

我的自定义用户模型正在扩展 AbstractBaseUser 和我的自定义用户管理器集

我的自定义用户模型设置为:

我已经手动检查了每个用户(我在登录时不检查)如果

但这些都不是真的,但用户仍然能够登录到管理控制台。

我正在像这样登录用户以进行正常登录:

我正在使用 Django 的内置身份验证进行管理控制台登录。我查看了 Django 文档,它说我必须

“然而,如果你的 User 模型扩展了 AbstractBaseUser,你需要定义一个自定义的 ModelAdmin 类。可以继承默认的 django.contrib.auth.admin.UserAdmin;但是,你需要覆盖任何引用 django.contrib.auth.models.AbstractUser 上的字段的定义,这些字段不在您的自定义 User 类上。”

因此,当我创建自定义 ModelAdmin 类时,是否还需要在此处为​​管理控制台定义身份验证?

0 投票
1 回答
845 浏览

python - Django:创建自定义用户时,ValueError:对未知应用程序的依赖

我正在使用 Python 3.4.3 和 Django 1.8 构建一个全新的 Web 项目,到目前为止没有进行任何迁移。对于该项目,我正在创建一个自定义用户,该用户继承自AbstractBaseUser一个名为users. 如文档中所述,在创建任何迁移之前,我还正确地引用AUTH_USER_MODEL了 中的自定义用户。settings.py

但是,当我尝试运行python manage.py makemigrations usersorpython manage.py migrate时,控制台会报告ValueError: Dependency on unknown app: users.

我很确定我的自定义用户模型的代码是正确的,因为我遵循了文档的示例代码,并且还因为,当我注释掉时AUTH_USER_MODEL,除了 Django 为默认用户模型创建了表之外,其他一切正常,这是预期的。

文档中提到:

您必须确保 AUTH_USER_MODEL 引用的模型是在其应用程序的第一次迁移中创建的(通常称为 0001_initial);否则,您将遇到依赖性问题。

我不太确定这到底是什么意思。这是否意味着我必须为我的users应用手动创建迁移?如果是这样,我应该怎么做?

我非常感谢任何建议或重定向到可靠来源!非常感谢您!

0 投票
2 回答
1721 浏览

python - Django rest 框架未对自定义用户模型进行身份验证

我有这个自定义用户模型:

这个视图应该需要身份验证才能运行:

当我为此启动 url 时,无论我是否在授权标头中提供凭据,它都会始终运行。我的猜测是,rest 框架正在使用 django 的默认用户模型,因为 request.user 对象包含一个 AnonymousUser 实例。但是我检查了数据库,并且 authtoken 表引用了我的自定义用户表。

我认为这应该和我的代码一样简单,但我想我错过了一些东西。有任何想法吗?

编辑:这里有更多细节:

设置.py:

网址.py:

0 投票
0 回答
422 浏览

python - 在 Django 1.8 中为扩展用户模型创建注册表单

我正在创建一个注册表单,以便用户可以注册。

模型.py

我不确定forms.py和views.py中应该包含什么,因为地址不是用户的一部分,而是UserProfile(UserProfile的扩展)

我希望能够在 forms.py 中做这样的事情:

0 投票
2 回答
621 浏览

django - 在现有 django-cms 项目中使用 django-custom-user

我有一个现有的 django-cms 版本。3.1.3 项目,我想用django-custom-user中的模型替换默认的 django User 模型(将电子邮件作为我的用户的用户名)。我已将该custom_user应用程序添加到我的INSTALLED_APPS和设置AUTH_USER_MODEL = 'custom_user.EmailUser'中。最后我应用了迁移。

在我的自定义模型中,一切似乎都运行良好,但是引用auth_user表(GlobalPagePermissionPagePermission, PageUser)的 django-cms 模型UserSettings没有更新为具有对新自定义用户表的外键引用。

django-cms 文档说通常建议在项目开始时添加自定义用户模型,但是我在这里,在项目中间,非常希望避免删除我的 cms 模型(带有数据) 使其工作。

如果我在一个项目的开始,并且在迁移 django-cms 模型之前添加了自定义用户模型,那么 django-cms 模型实际上会获得对自定义用户模型表的引用而不是默认的引用吗?

我有什么方法可以为 django-cms 模型进行迁移,所以他们使用新的自定义用户模型而不是默认用户模型?

更新

我试图实现 yakky 的建议:

它未能KeyError: ('myapp', u'pageuser')建议它PageUser在我的自定义应用程序而不是 cms 应用程序中查找模型。如何将这些迁移应用到 cms 模型?

0 投票
1 回答
2030 浏览

django - Django - PermissionRequiredMixin 与自定义用户模型以及 AUTHENTICATION_BACKENDS

我正在使用 Django 1.9。当我尝试将 PermissionRequiredMixin 添加到我的基于类的视图中时,它似乎没有按预期工作。我在 auth_group 中创建了一个新用户。此 auth_group 对任何应用程序或模型没有任何权限。此新用户不是超级用户或管理员用户。但该应用程序不会阻止此用户访问需要权限的特定视图。

首先,这是我试图确保用户没有权限的内容:

该应用程序具有自定义用户模型,并且还使用 django-allauth 作为 AUTHENTICATION_BACKENDS。我不确定 PermissionRequiredMixin 是否会检查 user.has_perm() 并且它总是返回 true 所以这就是为什么检查权限不能按预期工作?

我还尝试了在 urls.py 中检查权限的旧方法。它也不会阻止用户访问,所以我认为这不是使用 PermissionRequiredMixin 的问题。

0 投票
2 回答
773 浏览

django - 无法使用在自定义表单上创建的用户登录 - Django

我为创建用户编写了一个自定义表单。
登录适用于在终端上使用“python manage.py createsuperuser”创建的用户,但不适用于在网站上创建的用户。我已经检查过,并且创建表单有效;我的意思是,用户已创建。

这是表格

型号_

寄存器视图

登录视图

我在这里想念什么?
谢谢!