【问题标题】:How to retrieve user data from djoser endpoint (.../users/me)如何从 djoser 端点(.../users/me)检索用户数据
【发布时间】:2021-12-26 08:29:13
【问题描述】:

如何使用 djoser url /users/me/ 检索用户信息?我尝试按照本文档中的示例进行操作,但没有任何结果,我不断收到 403 禁止。我在授权标头中使用了Bearer, JWT, and Token,但它们都不起作用。 https://djoser.readthedocs.io/en/latest/base_endpoints.html

SETTINGS.PY

DJOSER = {
    'LOGIN_FIELD': 'email',
    'USER_CREATE_PASSWORD_RETYPE': True,
    'USERNAME_CHANGED_EMAIL_CONFIRMATION': True,
    'PASSWORD_CHANGED_EMAIL_CONFIRMATION': True,
    'SEND_CONFIRMATION_EMAIL': True,
    'SET_USERNAME_RETYPE': True,
    'SET_PASSWORD_RETYPE': True,
    'PASSWORD_RESET_CONFIRM_URL': 'password/reset/confirm/{uid}/{token}',
    'USERNAME_RESET_CONFIRM_URL': 'email/reset/confirm/{uid}/{token}',
    'ACTIVATION_URL': 'activate/{uid}/{token}',
    'SEND_ACTIVATION_EMAIL': True,
    'SERIALIZERS': {
        'user_create': 'accounts.serializers.UserCreateSerializer',
        'user': 'accounts.serializers.UserCreateSerializer',
        'current_user': 'accounts.serializers.UserCreateSerializer',
        'user_delete': 'djoser.serializers.UserDeleteSerializer',
    }
}

【问题讨论】:

  • 添加您的REST_FRAMEWORK 设置
  • @shafik,请检查,我在 settings.py 中添加了 djoser 设置
  • 你加了REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', (...) ), }
  • 是的,我在设置中添加了身份验证类
  • 你的问题解决了吗?

标签: reactjs django django-rest-framework-simplejwt djoser


【解决方案1】:

通过从 djoser UserSerializer 继承为用户创建新的 UserSerializer 类 并添加设置 'SERIALIZERS': {'user': 'accounts.serializers.UserSerializer', 'current_user': 'accounts.serializers.UserSerializer'}

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 2021-06-17
    • 2020-12-26
    • 2018-08-12
    • 2018-09-08
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    相关资源
    最近更新 更多