Base Endpoints

User Create

使用此端点注册新用户. 您的用户模型管理员应实现create_user方法,并具有USERNAME_FIELDREQUIRED_FIELDS字段.

预设网址: /users/

Note

re_password如果只需要USER_CREATE_PASSWORD_RETYPETrue

Method Request Response
POST
  • {{ User.USERNAME_FIELD }}
  • {{ User.REQUIRED_FIELDS }}
  • password
  • re_password

HTTP_201_CREATED

  • {{ User.USERNAME_FIELD }}
  • {{ User._meta.pk.name }}
  • {{ User.REQUIRED_FIELDS }}

HTTP_400_BAD_REQUEST

  • {{ User.USERNAME_FIELD }}
  • {{ User.REQUIRED_FIELDS }}
  • password
  • re_password

User Activate

使用此端点来激活用户帐户. 该终结点不是将直接向您的用户公开的URL-您应在前端应用程序(由ACTIVATION_URL配置)中提供站点,该站点将发送POST请求以激活终结点. 如果用户在调用此终结点时已经处于活动状态,则会引发HTTP_403_FORBIDDEN (如果您多次调用此终结点,则会发生这种情况).

预设网址: /users/activation/

Method Request Response
POST
  • uid
  • token

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • uid
  • token

HTTP_403_FORBIDDEN

  • detail

User Resend Activation E-mail

使用此终结点重新发送激活电子邮件. 请注意,如果用户已经处于活动状态或没有可用的密码,则不会发送电子邮件. 同样,如果在设置中禁用了发送激活电子邮件的操作,则此调用将导致HTTP_400_BAD_REQUEST

预设网址: /users/resend_activation/

Method Request Response
POST
  • {{ User.EMAIL_FIELD }}
HTTP_204_NO_CONTENT HTTP_400_BAD_REQUEST

User

使用此端点检索/更新已认证的用户.

预设网址: /users/me/

Method Request Response
GET

HTTP_200_OK

  • {{ User.USERNAME_FIELD }}
  • {{ User._meta.pk.name }}
  • {{ User.REQUIRED_FIELDS }}
PUT {{ User.REQUIRED_FIELDS }}

HTTP_200_OK

  • {{ User.USERNAME_FIELD }}
  • {{ User._meta.pk.name }}
  • {{ User.REQUIRED_FIELDS }}

HTTP_400_BAD_REQUEST

  • {{ User.REQUIRED_FIELDS }}
PATCH {{ User.FIELDS_TO_UPDATE }}

HTTP_200_OK

  • {{ User.USERNAME_FIELD }}
  • {{ User._meta.pk.name }}
  • {{ User.REQUIRED_FIELDS }}

HTTP_400_BAD_REQUEST

  • {{ User.REQUIRED_FIELDS }}

User Delete

使用此端点删除经过身份验证的用户. 默认情况下,它将仅验证current_password提供的密码,如果使用了基于令牌的身份验证则删除auth令牌,并为给定的User实例调用delete. 自定义删除行为的一种方法是覆盖User.delete .

预设网址: /users/me/

Method Request Response
DELETE
  • current_password

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • current_password

Set Username

使用此端点来更改用户的USERNAME_FIELD . 默认情况下,它将更改username .

Note

以下设置的URL取决于用户模型. Django允许您设置User.USERNAME_FIELD和User.EMAIL_FIELD字段,而Djoser则通过修改其默认的url结构和序列化程序以反映该设置来对此加以尊重. 当您在以下设置中看到{USERNAME_FIELD}{EMAIL_FIELD}时,表示这些部分将替换为您在用户模型中设置的部分.

例如:在这里,默认URL如下所示: /users/set_{USERNAME_FIELD}/这意味着,如果您的自定义User模型将USERNAME_FIELD设置为nickname ,则URL将看起来像这样: /users/set_nickname/ . 相同的规则适用于与请求一起发送的字段.

预设网址: /users/set_{USERNAME_FIELD}/

Note

仅当SET_USERNAME_RETYPETrue时才需要re_new_{USERNAME_FIELD}

Method Request Response
POST
  • new_{USERNAME_FIELD}
  • re_new_{USERNAME_FIELD}
  • current_password

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • new_{USERNAME_FIELD}
  • re_new_{USERNAME_FIELD}
  • current_password

Reset Username

使用此端点可以通过用户名重置链接向用户发送电子邮件. 您必须设置USERNAME_RESET_CONFIRM_URL .

预设网址: /users/reset_{USERNAME_FIELD}/

Note

HTTP_204_NO_CONTENT if USERNAME_RESET_SHOW_EMAIL_NOT_FOUND is False

否则,如果数据库HTTP_400_BAD_REQUEST中不存在{EMAIL_FIELD}的值

Method Request Response
POST {EMAIL_FIELD}

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • {EMAIL_FIELD}

Reset Username Confirmation

使用此端点完成重置用户名过程. 该终结点不是将直接向您的用户公开的URL-您应在前端应用程序(由USERNAME_RESET_CONFIRM_URL配置)中提供站点,该站点将发送POST请求以重置用户名确认终结点. 如果自令牌创建以来用户已登录或更改了用户名,则会引发HTTP_400_BAD_REQUEST .

预设网址: /users/reset_{USERNAME_FIELD}_confirm/

Note

仅当USERNAME_RESET_CONFIRM_RETYPETrue时才需要re_new_username

Method Request Response
POST
  • uid
  • token
  • new_{USERNAME_FIELD}
  • re_new_{USERNAME_FIELD}

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • uid
  • token
  • new_{USERNAME_FIELD}
  • re_new_{USERNAME_FIELD}

Set Password

使用此端点更改用户密码.

预设网址: /users/set_password/

Note

仅当SET_PASSWORD_RETYPETrue时才需要re_new_password

Method Request Response
POST
  • new_password
  • re_new_password
  • current_password

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • new_password
  • re_new_password
  • current_password

Reset Password

使用此端点可以通过密码重置链接向用户发送电子邮件. 您必须设置PASSWORD_RESET_CONFIRM_URL .

预设网址: /users/reset_password/

Note

HTTP_204_NO_CONTENT if PASSWORD_RESET_SHOW_EMAIL_NOT_FOUND is False

否则,如果数据库HTTP_400_BAD_REQUEST中不存在{EMAIL_FIELD}的值

Method Request Response
POST {EMAIL_FIELD}

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • {EMAIL_FIELD}

Reset Password Confirmation

使用此端点完成重置密码过程. 该终结点不是将直接向您的用户公开的URL-您应该在前端应用程序(由PASSWORD_RESET_CONFIRM_URL配置)中提供站点,该站点将发送POST请求以重置密码确认终结点. 如果自创建令牌以来用户登录或更改了密码,将引发HTTP_400_BAD_REQUEST .

预设网址: /users/reset_password_confirm/

Note

仅当PASSWORD_RESET_CONFIRM_RETYPETrue时才需要re_new_password

Method Request Response
POST
  • uid
  • token
  • new_password
  • re_new_password

HTTP_204_NO_CONTENT

HTTP_400_BAD_REQUEST

  • uid
  • token
  • new_password
  • re_new_password