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

django-rest-framework - python社交身份验证与django自定义用户模型

我正在使用python-social-auth(不是 django-social-auth,因为它已折旧)在 Django REST 后端应用程序中进行身份验证,Custom User Model如下所述。

请注意,我没有实现 custom UserManager。社交身份验证管道也很简单。

但是,当我尝试使用 Facebook 进行身份验证时,它会给出如下错误

TypeError at /api-token/login/facebook/ 'is_superuser' is an invalid keyword argument for this function

问题可能是python-social-auth尝试使用 django 自己的用户而不是我定义的自定义用户模型。里面有django-social-auth一个设置的参数,SOCIAL_AUTH_USER_MODEL但我找不到任何方法来做到这一点python-social-auth

如何才能在 python-social-auth 中使用我的自定义用户模型?

0 投票
3 回答
12254 浏览

python - django 中的自定义用户引发 ValueError

即使这个简单的例子ValueError: Dependency on app with no migrations: myApppython manage.py syncdb

myApp/models.py

设置.py


./manage syncdb在 django==1.6.5 <<中运行

./manage syncdb在 django==1.7 <<中运行

我无法在 1.7 的文档中找到任何说明这应该与 1.6 不同的内容。看起来其他一些人也有这个问题,但由于运行./manage.py migrate --list

有没有人遇到过这个?

0 投票
1 回答
713 浏览

python - Django 最佳实践 - 引用自定义用户或配置文件模型

根据 Django 的建议,如果信息与身份验证不直接相关,则信息应存储在单独的模型中,我在我的应用程序中创建了自定义用户模型和配置文件模型。

就像是:

让其他模型引用用户的最佳做法是什么?例如,我的应用程序有一个消息系统。在Message模型中,最好有外键关系 toProfile而不是User?该模型是否应该User仅用于身份验证?

0 投票
0 回答
435 浏览

python - Django 自定义用户迁移中断了同步数据库

在我的 django 项目中,我从一开始就将 django auth 用户换成了自定义用户模型。我为用户使用代理模型作为 AUTH_USER_MODEL。项目布局有点像这样,

相关部分如下,

项目/settings.py

用户本地/models.py

用户代理/models.py

到目前为止,syncdb 工作正常。现在我想对我的 userlocal 模型进行更改,因此我创建了一个初始架构迁移。

我将以下内容添加到我的 userlocal 模型中,

并为它创建一个新的迁移,

现在,当我运行同步数据库时,它存在于 OperationalError 中

当我调试 syncdb 进程时,执行的最后一个查询是,

所以它试图创建一个从 django_admin_log 到 userlocal_localuser 的约束。但是后者不是在syncdb期间创建的,因为它有迁移,对吧......?那么为什么要创建这个约束......?

0 投票
1 回答
156 浏览

python - Django 自定义用户

我创建了自定义用户

然后我创建了 UserAdmin

并添加了 UserCreationForm

它工作正常,但是当我尝试添加电子邮件和电话时

字段到 UserCreationForm 他们没有查看,当我尝试在没有这些字段的情况下保存我的用户时,我收到错误“'EmailField'对象没有属性'value_from_datadict'”

0 投票
1 回答
778 浏览

python - 使用电子邮件对 Django 用户进行身份验证

我正在使用 Django 1.7 并尝试使用电子邮件而不是提供的 Django auth 用户对用户进行身份验证。

这是我的models.py

这是我的一个片段views.py

最后,我的forms.py

每当我尝试注册帐户时,'NoneType' object has no attribute '_insert'调用forms.pyuser.save 和views.py调用 form.save 都会出错。我真的不知道如何编写 user.save,但我想这会解决这两个错误。

谁能帮我?

0 投票
1 回答
497 浏览

django - 确定用户是否在 Django 中是成人

我试图通过使用他的生日和今天的日期来确定我网站上的用户是否是成年人。

我的用户中有一个布尔属性,adult我尝试通过以下方式设置它

注册用户时,我有一个添加生日的字段

当我在添加“成人生日”后检查我的管理页面时,结果总是错误的。

我的形式或set_adult方法有误吗?

0 投票
1 回答
1233 浏览

django - 从 auth.User 迁移到自定义用户模型。组和权限始终为空

我正在将我的应用程序从 Django 1.4 迁移到 Django 1.7。我已经升级了所有第三方库和 Django 本身。运行manage.py check或使用manage.py runserver'. 现在我想转向自定义用户模型。我已经创建了模型,它是 User 模型的直接副本,但django.contrib.auth.models.User有一个区别 - 我创建了自己的 PermissionMixin 基础,因为使用默认的基础,默认 User 模型和我的自定义 User 模型之间的反向关系发生冲突。

在那之前一切都很好——迁移在数据库中创建了所需的表,我可以在管理员中修改自定义用户模型。现在我想通过数据迁移将所有数据复制auth.User到我的users.CustomUser模型中。下面的代码反映了我想做的事情:

我正在使用 MySQL。这里的问题是user.user_permissions.all()并且user.groups.all()总是空的。我在 django shell 中尝试过同样的方法——空的。在管理员中 -groups没有正确连接并且user_permissions是。我已签入数据库 - 这不应为空。进一步调查表明,以下代码检索所需的对象:
User._meta.get_field('groups').rel.through.objects.filter(user_id=user.id)

和它一样user_permissions。我可以遍历上述查询中的对象列表并访问该Group对象以在我的迁移中使用它。这一切都很好并且有效。

问题是:为什么标准方式不起作用?我是否以某种不好的方式访问对象?我是否错过了数据迁移中的某些内容?我应该导入(?!)一些特定的依赖关系还是以某种特殊的方式检索PermissionGroup模型?

0 投票
1 回答
132 浏览

python - python manage.py runserver Vs foreman start 自定义用户模型

我有一个使用django_mongodb_engineand的应用程序mongolab(不需要 python manage.py syncdb)。我也foreman用作我的本地服务器。

档案:

web: gunicorn <appname>.wsgi

我有以下自定义用户模型Registration

现在,当我输入 时foreman start,它完全按照我想要的方式工作。那是USERNAME_FIELDnot unique但是当我尝试使用 时python manage.py runserver,在验证模型时它给了我以下错误:

当我在 Heroku 上部署它时,它工作正常。

0 投票
0 回答
139 浏览

python - 在 django pybb 应用程序中验证用户

我已经成功安装了 pybb 应用程序,一切都很好,除了我不知道如何“告诉”pybb 应用程序用户已通过我的主应用程序进行身份验证这一事实。我正在使用基于函数的视图和正常的身份验证-> 登录例程,如 django 文档中所述。我的身份验证功能如下所示:

我的主要 urls.py 已按照 pybb 文档中的指示包含此内容

我可以在执行此操作之前验证用户是否已通过身份验证,HttpResponseRedirect("/forum") 但是一旦加载了 pybb 应用程序,这似乎就会丢失。我只是不知道我应该从哪里开始调查。任何帮助是极大的赞赏。
谢谢