Django Rest Auth custom reset password confirm url

后端 未结 1 731
-上瘾入骨i
-上瘾入骨i 2021-02-06 16:58

With django-rest-framework, when you post a reset password (rest-auth/password/reset/), there is an email send to the user email. This email contains a confirmation URL. I would

1条回答
  •  难免孤独
    2021-02-06 17:34

    I did it with templatetags: https://docs.djangoproject.com/fr/1.10/howto/custom-template-tags/

    My templatetags file (e.g. settings_vars.py):

    from django import template
    from django.conf import settings
    
    register = template.Library()
    
    @register.simple_tag
    def get_settings_var(name):
        return getattr(settings, name)
    

    My variable in my settings.py:

    FRONTEND_URL = 'http://localhost:4200/'
    ACCOUNT_EMAIL_CONFIRMATION_URL = FRONTEND_URL + 'verify-email/{}'
    ACCOUNT_PASSWORD_RESET_CONFIRM = FRONTEND_URL + 'password-reset/confirm/'
    

    Usage in my password_reset_email.html:

    {% load settings_vars %}
    
    {% trans "Please go to the following page and choose a new password:" %}
    {% block reset_link %}
    {% get_settings_var 'ACCOUNT_PASSWORD_RESET_CONFIRM' %}?uidb64={{ uid }}&token={{ token }}
    {% endblock %}
    

    If someone know a better solution feel free to comment.

    Hope it can helps someone.

    0 讨论(0)
提交回复
热议问题