gpt4 book ai didi

Django Rest Auth自定义重置密码确认网址

转载 作者:行者123 更新时间:2023-12-03 23:19:56 32 4
gpt4 key购买 nike

使用 django-rest-framework,当您发布重置密码 (rest-auth/password/reset/) 时,会向用户电子邮件发送一封电子邮件。此电子邮件包含一个确认 URL。我想更改此 url,因为我在使用 REST 应用程序案例,我希望这封电子邮件指向我的前端而不是 django 后端。

对于确认电子邮件案例,我不得不覆盖 get_email_confirmation_url方法来自 AccountAdapter .但是对于重置密码的情况,我不知道该怎么做(适配器中没有关于重置密码的方法)。

任何的想法?

最佳答案

我用模板标签做到了:
https://docs.djangoproject.com/fr/1.10/howto/custom-template-tags/

我的模板标签文件(例如 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)

我的变量 settings.py :
FRONTEND_URL = 'http://localhost:4200/'
ACCOUNT_EMAIL_CONFIRMATION_URL = FRONTEND_URL + 'verify-email/{}'
ACCOUNT_PASSWORD_RESET_CONFIRM = FRONTEND_URL + 'password-reset/confirm/'

在我的 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 %}

如果有人知道更好的解决方案,请随时发表评论。

希望它可以帮助某人。

关于Django Rest Auth自定义重置密码确认网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40344898/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com