首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将电子邮件中的localhost替换为django重置密码的正确域名?

问如何将电子邮件中的localhost替换为django重置密码的正确域名?
EN

Stack Overflow用户
提问于 2019-08-21 06:13:54
回答 1查看 285关注 0票数 0

我正在通过nginx提供一个反向代理的django应用程序。该应用程序在映射到example.com的本地主机下运行:8686。因此,重置密码的正确链接如下所示:

代码语言:javascript
复制
https://example.com:8686/accounts/reset/MQ/591-05377c39db92f2d5368a/

但邮件中的内容是这样的:

代码语言:javascript
复制
https://localhost:8686/accounts/reset/MQ/591-05377c39db92f2d5368a/

显然,django (本地有女服务员)并不知道域名。有没有可能告诉django它应该使用哪个域名?

EN

回答 1

Stack Overflow用户

发布于 2019-08-21 06:44:39

第一种方法是通过创建自定义registration/password_reset_email.html来覆盖默认模板

代码语言:javascript
复制
{# yourProject/yourApp/templates/registration/password_reset_email.html #}
{% trans "Please go to the following page and choose a new password:" %}
{% block reset_link %}
{{ protocol }}://domain.com{% url 'password_reset_confirm' uidb64=uid token=token %}
{% endblock %}

另一种方法是启用“站点框架”(参见链接#2)。

文档和来源:

  1. https://docs.djangoproject.com/en/2.2/topics/auth/default/#django.contrib.auth.views.PasswordResetView
  2. https://docs.djangoproject.com/en/2.2/ref/contrib/sites/
  3. https://github.com/django/django/blob/master/django/contrib/admin/templates/registration/password_reset_email.html
  4. https://github.com/django/django/blob/1e429df748867097451bf0b45d1080ae6828d921/django/contrib/auth/forms.py#L277
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57582155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档