1👍
✅
This functionality is built into Django. See the password reset view and the subsequent reset_done and reset_confirm views.
Submitting the form in the initial view will email a one-time link to the user, which when clicked will display a form allowing them to enter a new password without knowing the old one.
Source:stackexchange.com