问题标签 [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 回答
359 浏览

django - Django:迁移到自定义用户模型的问题

我一直在编写一个 Django webapp,对我的 User 模型没有太多关注——提供的模型很好,但我意识到我希望能够以某种方式对其进行自定义。

从头开始使用自定义用户模型看起来很简单,但是在保留现有用户的同时迁移到一个有点棘手,并且给我带来了很多问题。我发现本指南使用了一个特殊的包,并针对我的具体情况提供了分步说明(Django 1.8、Python 3.4)。

准备步骤之一是

您必须确保在您的项目(包括 3rd 方库)的任何地方都使用 AUTH_USER_MODEL 和 django.contrib.auth.get_user_model() 而不是“auth.User”和 django.contrib.auth.models.User。

我的项目不是很复杂——对 User 模型的唯一引用是在 ForeignKeys 以及几行获取 User 对象。

我应该在哪里使用 django.contrib.auth.get_user_model()?我的印象是 ForeignKeys 需要使用 settings.AUTH_USER_MODEL 和任何运行时操作(例如obj = User.objects.get(<criteria>)将设置Userget_user_model(). 对吗?

我目前有我的 AUTH_USER_MODEL 设置,例如:

作为中间步骤,django.contrib.auth.models.Usersettings.py.

我试图切换我的模型以使用该设置:

但是,当我启动服务器时,我不断收到关于settings.py

我在这里做错了什么?SECRET_KEY 设置不为空,所以我认为设置中存在不同的错误。

0 投票
1 回答
3145 浏览

python - Django:扩展 AbstractBaseUser 是否需要将电子邮件用作 USERNAME_FIELD?

像许多其他人一样,我正在尝试将我的 Django 应用程序配置为使用电子邮件作为用户名字段。我有一些现有的用户帐户已成功迁移到自定义用户模型,尽管现在自定义模型与 Django 用户模型相同:

每当我尝试将 设置为USERNAME_FIELDemail,我都会收到一个USERNAME_FIELD无法包含在REQUIRED_FIELDS中的错误,以及它必须是唯一的错误。(旁注:基本用户不需要电子邮件,所以我不明白第一个错误)

在继承 AbstractUser 时有没有办法获得这个功能?

还是我只需要以AbstractBaseUser示例的方式子类化并指定每个字段?

如果是后者,我将如何确保我定义与 Django User 模型完全相同的字段?我不想失去我拥有的用户或导致字段不匹配的问题。

必须一路完全指定自定义模型只是为了使用电子邮件地址作为用户名,这似乎很愚蠢,所以也许我在这里遗漏了一些东西。如果有办法确保 Django User 模型中的唯一字段,我认为这不是问题。

0 投票
0 回答
982 浏览

django - 表“auth_user”已经存在,从 django 移至 custom_user 模型构建它的用户模型

问题可能与这种情况类似,但错误和版本不同

我从 Django 迁移到django-custom-user模型构建了它的用户模型。我使用的数据库是默认的,即 sqllite,因为 webapp 的范围很小。

在所有修改之后,我尝试使用 makemigrations/migrate 命令修改架构,但我遇到了错误 django.db.utils.OperationalError: table "auth_user" already exists

当我使用 Django1.9 时,我想知道是否有任何内置选项/步骤可以在不删除/滥用数据库的情况下迁移数据。

0 投票
1 回答
1374 浏览

python - 如何更改自定义 Django 用户创建的数据库列 last_login 的名称?

我在 Django 中创建了一个自定义用户,并向 UserProfile 模型添加了一些额外的字段。我想保留所有不带下划线的列名,但 last_login 字段是由基本用户创建的。运行迁移后,用户表中唯一带有下划线的列是“last_login”。请告知如何将该字段/列名称更改为“lastlogin”。

models.py 看起来像这样 -

0 投票
1 回答
240 浏览

python - Django 自定义用户未登录

我在 Django 1.9 中从 AbstractUser 创建了一个 CustomUser。在我创建超级用户时添加admin.sites.register,django 创建成功但是当我登录系统时用户不存在。按照代码:

customuser/models.py

在 上settins.py,我添加以下行:

我的customuser/admin.py

非常感谢你的帮助。

0 投票
3 回答
7913 浏览

python - 如何在 django 中为自定义用户添加组?

我使用这个官方文档在 Django 中自定义身份验证创建了用户的自定义模型 但是如何添加组和权限?我的 django 是 1.9 版

0 投票
1 回答
176 浏览

python-3.4 - django(1.9)注册(redux)中的额外字段而不使用实现自定义用户模型

我对 django 相当陌生,对于有经验的人来说,这可能是一个基本级别的问题,但我们将不胜感激任何帮助。

我正在尝试使用 django-registration-redux 包为用户创建自定义注册表单。到目前为止,我有以下实现:

模型.py:

视图.py:

表格.py:

网址.py

首先,此方法不会在注册表单中输出用户名字段,我不知道如何实现。事实上,我想为 MyUser 模型创建电子邮件 USERNAME_FIELD。为了做到这一点,我必须在工作流程中的确切位置声明它?最重要的是,当我runserver使用上面的代码时,它会抛出以下异常:

也许,我必须从 AbstractBaseUser 类继承以允许管理器访问 create_user 方法。我不太确定这是否是我唯一的选择。无论如何我可以扩展 django 旧用户身份验证来完成上述操作,而不是实现自定义身份验证?提前致谢。

0 投票
1 回答
403 浏览

python - 自定义用户模型扩展 AbstractUser,认证返回无

我想创建扩展AbstractUser的自定义用户,但是当我想验证我的自定义用户时返回 None。

当我创建 CustomUser() 时存储在数据库中,但密码未加密。我可以使用银行默认的身份验证功能吗?或者我必须为我的自定义用户创建一个自定义后端。

我补充说:

AUTH_USER_MODEL = 'mysite.customuser'

我认为 AbstractUser 的扩展,我的类没有相同的方法或有问题

0 投票
0 回答
397 浏览

django - 如何在 django 中的自定义用户的注册表单中添加布尔选择/单选按钮

我是 django 的新手,正在尝试创建自定义注册表单。我想在用户注册中添加一个单选按钮,以了解用户是提供 facebook id 还是linkedin id。请帮我完成这个。

在我的models.py

在我的forms.py

0 投票
1 回答
5883 浏览

django - How to solve error raised : No module named 'django.contrib.customuser'

I am new to Django, trying to create a custom user for my project. When I am running the server, it raises No module named 'django.contrib.customuser' and sometimes, Manager isn't available; auth.User has been swapped for Mysite.CustomUser. Even i changed my settings: django.contrib.auth to django.contrib.custommuser. Please someone help me solving this. Here's my code

models.py:

forms.py

admin.py

backends.py: