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/