0

我正在使用 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',
}

我做错了什么?

4

1 回答 1

0

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

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

django-allauth 功能

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

模型.py

于 2021-07-09T18:45:47.210 回答