微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Djoser 创建用户不会存储所有字段的数据 (

如何解决使用 Djoser 创建用户不会存储所有字段的数据 (

我正在使用 DRF 创建一个 ReST API。

我使用 Djoser 进行用户管理。我正在使用认的 django 用户模型,因为它符合我的目的。

当我点击端点注册新用户时,只有用户名、密码和电子邮件被存储。我正在传递所有数据,如 first_name、last_name 和 is_staff,但只存储用户名、密码和电子邮件

我附上了 Djsoer 设置。

DJOSER = {
    'PASSWORD_RESET_CONFIRM_URL': '#/password/reset/confirm/{uid}/{token}','USERNAME_RESET_CONFIRM_URL': '#/username/reset/confirm/{uid}/{token}','ACTIVATION_URL': '#/activate/{uid}/{token}','SEND_ACTIVATION_EMAIL': True,'SEND_CONFIRMATION_EMAIL': True,'PASSWORD_CHANGED_EMAIL_CONFIRMATION': True,'USERNAME_CHANGED_EMAIL_CONFIRMATION': True,'USER_CREATE_PASSWORD_RETYPE': True,#Designed to propote good programming practice
    'SET_PASSWORD_RETYPE': True,#Designed to propote good programming practice
    'PASSWORD_RESET_CONFIRM_RETYPE': True,#Designed to propote good programming practice
    'logoUT_ON_PASSWORD_CHANGE' : True,#Note : logout only works with token based authentication. djoser 2.10
    'PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND': False,#Please note that setting this to True will expose information whether an email is registered in the system
    'USERNAME_RESET_SHOW_EMAIL_NOT_FOUND': False,#Please note that setting this to True will expose information whether an email is registered in the system
    'token': 'djoser.serializers.TokenSerializer','token_create': 'djoser.serializers.TokenCreateSerializer',}

我做错了什么?

解决方法

我对 Djoser 了解不多,但您可以使用 python 包 django-allauth 来自https://django-allauth.readthedocs.io/en/latest/installation.html

在 django-allauth 中你可以添加 first_name 和 last_name 以及许多其他类似的信息

django-allauth features

或者,如果您特别想添加名字、姓氏和 is_staff 以及任何其他个人信息,那么您可以在

中创建有关此用户信息的特定模型

models.py

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。