Django-rest-passwordreset создать и отправить токен вручную

Прочитав [django-rest-passwordreset][1] я не нашел способа создать и отправить reset_password_token вручную, то есть без использования конечной точки, созданной пакетом.

В настоящее время у меня есть следующая реализация:

urlpatterns = [
    ...
    url(r'^api/password_reset/', include('django_rest_passwordreset.urls', namespace='password_reset')),
    ...
]

Затем, когда пользователь запрашивает сброс пароля, я отправляю письмо, используя сигнал, предоставленный пакетом:

@receiver(reset_password_token_created)
def password_reset_token_created(sender, instance, reset_password_token, *args, **kwargs):
    """
    Handles password reset tokens
    When a token is created, an e-mail needs to be sent to the user
    :param reset_password_token: Token Model Object
    :return:
    """
    # send an e-mail to the user
    context = {
        'email': reset_password_token.user.email,
        'reset_password_url': f"{BASE_URL}new-password?token={reset_password_token.key}"
    }
    send_reset_pwd_to_sendingblue.delay(context)

Однако в моем случае я хочу программно создать токен и отправить его пользователю без использования конечной точки, то есть пользователь не будет сбрасывать свой пароль через конечную точку, скорее мое приложение создаст токен и отправит его пользователю.

Как я могу это сделать? [1]: https://pypi.org/project/django-rest-passwordreset/

Вернуться на верх